Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
base64 verisini çekemiyorum |
Yanıt Yaz |
Yazar | |
Senol
Deneyimli Üye Kayıt Tarihi: 01 Temmuz 2024 Durum: Aktif Değil Puanlar: 49 |
Konu: base64 verisini çekemiyorum Gönderim Zamanı: 06 Ağustos 2024 Saat 09:41 |
//Listviewe tıkladığımda diğer veriler geliyor ama memoya bile base64 verisi gelmiyor //hata veriyor var hayvanSahiplen : TclForm; edtYukleyenKisi, edtKonumBilgisi, edtNotEkle : TclEdit; noteMemo:TCLMemo; CameraImg,SourceImg: TClImage; testListview: TClListView; Qry : TClSQLiteQuery; database, password,baseString : String; LMemStream:TCLMemoryStream; void GetData; { try Qry = Clomosy.DBSQLiteQueryWith('SELECT ''Yükleyen Kişi:'' || Yukleyenadi as MAIN_TEXT, ''Konum:'' || KonumBilgisi as SUB_TEXT, ''Not:'' || NotBilgisi as FOOTER_TEXT,Base64,Id as SIDE_TEXT_BOTTOM FROM Categories'); Qry.OpenOrExecute; testListview.clLoadListViewDataFromDataset(Qry); except ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage); } } void noteMemoOnClick; { } void onItemClicked; { Qry = Clomosy.DBSQLiteQueryWith('SELECT Yukleyenadi, KonumBilgisi, NotBilgisi,Base64 FROM Categories WHERE Id = ''' + clGetStringAfter(testListview.clSelectedItemData('SIDE_TEXT_BOTTOM'), ':') + ''''); Qry.OpenOrExecute; edtYukleyenKisi.Text = Qry.FieldByName('Yukleyenadi').AsString; edtKonumBilgisi.Text = Qry.FieldByName('KonumBilgisi').AsString; edtNotEkle.Text = Qry.FieldByName('NotBilgisi').AsString; LMemStream = TCLMemoryStream.Create; LMemStream = Clomosy.Base64ToStream(Qry.FieldByName('Base64').AsString); SourceImg.Bitmap.LoadFromStream(LMemStream); } { hayvanSahiplen = TclForm.Create(Self); noteMemo = MyForm.AddNewMemo(MyForm, 'noteMemo', 'Bir Not Giriniz'); noteMemo.StyledSettings = ssFamily; noteMemo.TextSettings.WordWrap = True; noteMemo.Height = 30; noteMemo.Align = alBottom; edtYukleyenKisi = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtYukleyenKisi', 'Yüklen Kişi:'); edtYukleyenKisi.Align = alMostTop; edtKonumBilgisi = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtKonumBilgisi', 'Konum bilgisi giriniz'); edtKonumBilgisi.Align = alMostTop; edtNotEkle = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtNotEkle', 'Not ekleyiniz'); edtNotEkle.Align = alMostTop; CameraImg = hayvanSahiplen.AddNewImage(hayvanSahiplen, 'CameraImg'); CameraImg.Align = alMostTop; CameraImg.Height = 390; CameraImg.Width = 300; testListview = hayvanSahiplen.AddNewListView(hayvanSahiplen, 'testListview'); testListview.Align = alClient; hayvanSahiplen.AddNewEvent(testListview, tbeOnMouseDown, 'onItemClicked'); database = Clomosy.AppFilesPath + 'sokaktakiDostum.db3'; password = ''; try Clomosy.DBSQLiteConnect(database, password); Clomosy.DBSQLiteQuery.SQL.Text = 'CREATE TABLE IF NOT EXISTS Categories(Id INTEGER PRIMARY KEY,Yukleyenadi, KonumBilgisi, NotBilgisi,Base64)'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Veri tabanına tablo ekleme işlemi başarılı!'); except ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage); } GetData; hayvanSahiplen.Run; }
|
|
Senol
Deneyimli Üye Kayıt Tarihi: 01 Temmuz 2024 Durum: Aktif Değil Puanlar: 49 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 15:13 |
oguz22
Yeni Üye Kayıt Tarihi: 18 Nisan 2024 Konum: İstanbul Durum: Aktif Değil Puanlar: 46 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 15:29 |
noteMemo.text = Qry.FieldByName('ColumnName').AsString;
olarak çekmeyi deneyebilir misin ? |
|
Senol
Deneyimli Üye Kayıt Tarihi: 01 Temmuz 2024 Durum: Aktif Değil Puanlar: 49 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 16:22 |
Daha önceden denemiştim şimdi tekrar denedim yine çalışmadı
|
|
oguz22
Yeni Üye Kayıt Tarihi: 18 Nisan 2024 Konum: İstanbul Durum: Aktif Değil Puanlar: 46 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 16:40 |
Tamamdır bu kodu incelemeni tavsiye ederim.
İstediğinizi işlemi yapar umarım : var Port: Integer; Form1:TCLForm; qry : TClSQLiteQuery; MemStream: TclMemoryStream; BlobField: TBlobField; Img1 : TclImage; Base64String: string; BinaryData: TBytes; void OnGuideQryClick; { try Qry =
Clomosy.DBSQLiteQueryWith('SELECT imgUrl FROM TBLDocs WHERE id = 23'); qry.OpenOrExecute; if (qry.Found) {
ShowMessage(qry.FieldByName('imgUrl').AsString); BlobField =
qry.FieldByName('imgUrl') as TBlobField; //MemStream
= TclMemoryStream.Create;
BlobField.SaveToStream(MemStream); // Load BLOB data into the stream
MemStream.Position = 0;
//Base64String = Clomosy.StreamToBase64(MemStream);
//Clomosy.setClipBoard(Base64String);//FOR TEST PURPOSE COPIES BASE6
//Img1.Bitmap.LoadFromStream(MemStream); // Load the image from the stream
Img1.Bitmap.LoadFromStream(MemStream);
MemStream.Free; } except ShowMessage('[019]
Exception Class: '+LastExceptionClassName+' Exception Message:
'+LastExceptionMessage); } } void SqLiteInsertData; { try Base64String =
Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath)); MemStream =
TclMemoryStream.Create(); MemStream = Clomosy.Base64ToStream(Base64String); //BinaryData :=
TNetEncoding.Base64.DecodeStringToBytes(Base64String); // Clomosy.DBSQLiteQuery.Sql.Text =
' //INSERT INTO TBLDocs (id,
imgName,imgUrl) VALUES (1,''Image 1'','''+Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath))+''');';
//addassetfromurl ile dosyaları indir //Clomosy.DBSQLiteQuery.
ShowMessage(Clomosy.AppFilesPath); base64String =
Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath));
Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO TBLDocs (id, imgName, imgUrl)
VALUES (23, ''test'', :imgUrl)';
//Clomosy.DBSQLiteQuery.ParamByName('imgName').AsString = 'Image from Base64';
Clomosy.DBSQLiteQuery.ParamByName('imgUrl').value = MemStream; Clomosy.DBSQLiteQuery.OpenOrExecute;
//https://clomosy.com/learn/1Top.png ShowMessage('Adding data to
the table was successful!'); except ShowMessage('Exception Class:
'+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } void SqLiteConnectionCreateTable; var TableExists: Boolean; { try
Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBDocsFile.db3', ''); // Check if the table
exists
Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE
type="table" AND name="TBLDocs";';
Clomosy.DBSQLiteQuery.OpenOrExecute; // Check the results TableExists = not Clomosy.DBSQLiteQuery.Eof; // Create the table if
it does not exist if not (TableExists) {
Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TBLDocs (
id INTEGER PRIMARY KEY,
imgName TEXT NOT NULL,
imgUrl BLOB NOT NULL
);';
Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Table
successfully added to the database!'); } else { ShowMessage('The
Products table already exists.'); } except ShowMessage('Exception Class:
'+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } { Form1 = TclForm.Create(Self);
ShowMessage(Clomosy.AppFilesPath); Img1 = Form1.AddNewImage(Form1,'Img1'); Img1.Align = alClient; SqLiteConnectionCreateTable; SqLiteInsertData; OnGuideQryClick; Form1.Run; } |
|
Senol
Deneyimli Üye Kayıt Tarihi: 01 Temmuz 2024 Durum: Aktif Değil Puanlar: 49 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 16:53 |
bunu daha önceden denemiştim bu hatanın gitmesi için ne yapabilirim
|
|
oguz22
Yeni Üye Kayıt Tarihi: 18 Nisan 2024 Konum: İstanbul Durum: Aktif Değil Puanlar: 46 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 16:58 |
Dosya yolunun doğru olduğundan emin misiniz ?
|
|
Senol
Deneyimli Üye Kayıt Tarihi: 01 Temmuz 2024 Durum: Aktif Değil Puanlar: 49 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 17:21 |
Sizin attığınız kodda hiçbir şeyi ellemedim neyi değiştirmem gerekiyor da
|
|
oguz22
Yeni Üye Kayıt Tarihi: 18 Nisan 2024 Konum: İstanbul Durum: Aktif Değil Puanlar: 46 |
Gönderim Zamanı: 06 Ağustos 2024 Saat 17:31 |
Base64String = Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath));
bu kısımda '1Top.png' adında bir resim sizin klasörünüzde bulamadığı için bu hatayı veriyor. Kendi Resminizi clomosy nin bulundupu kalasöre atarak adını da '1Top.png' yerine yazabilirsiniz.
|
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |