Yorumları: 300
Konuları: 93
Kayıt Tarihi: 17-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 353 Acemi
Merhaba
Android de datasnap ile veri çekiyorum. Resim çekme zorunluluğum oluşu.
Clientdataset fieldbyname('RESIM').savetostream özlliği bulunmyor.
Clientdataset nesnesindeki resmi image nesnesine alamadım.
Tavsiyeniz var mı? İyi Çalışmalar.
Yorumları: 4.246
Konuları: 381
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 17.117 Üstad
20-07-2019, Saat: 13:25
(Son Düzenleme: 20-07-2019, Saat: 13:26, Düzenleyen: Fesih ARSLAN.)
Merhaba,
Blob alanı TBlobField tipine dönüştürmeye zorlayarak, yapabilirsiniz.
TBlobField(DatasetAdı.FieldByName('RESIM')).SaveToStream(StreamAdı);
DelphiCan'dır!
Yorumları: 300
Konuları: 93
Kayıt Tarihi: 17-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 353 Acemi
21-07-2019, Saat: 18:24
(Son Düzenleme: 22-07-2019, Saat: 08:05, Düzenleyen: Fesih ARSLAN.)
(20-07-2019, Saat: 13:25)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Blob alanı TBlobField tipine dönüştürmeye zorlayarak, yapabilirsiniz.
TBlobField(DatasetAdı.FieldByName('RESIM')).SaveToStream(StreamAdı);
Merhaba
Açıkcası yardımınız olmasa çözümü bulamazdım. Teşekkür ederim.
Şu anda hiçbir hata vermemesine rağmen listview de image göremiyorum.
aldığım image önce imagelist e alıp listview item a image index numarsı veriyorum.
list e text olarak liste yüklenirken imagler gelmiyor.
Listview item apperance>item özelliği imagelistitem olarak ayarlı ama imagelerı gösteremiyorum.
procedure Tfrmana.Grup_List_Doldur;
var
vItem:TListViewItem;
ms:TmemoryStream;
i:integer;
begin
i:=0;
ms:=TmemoryStream.Create;
try
try
datam.SQLConUrun.Connected:=true;
with DataM.cdsUrun do
begin
active:=false;
CommandText:='SELECT ID,ADI,RESIM FROM GRUP ORDER BY ADI';
Active:=true;
while not eof do
begin
vItem:=ListView1.Items.Add;
vItem.Text:=FieldByName('ADI').AsString;
r:=imgGrup.Source.Add ;
// ShowMessage('r:=imgGrup.Source.Add ;');
TBlobField(DataM.cdsUrun.FieldByName('RESIM')).SaveToStream(ms);
// ShowMessage('blobfield');
//FieldByName('RESIM').Assign(ms);
ms.Position:=0;
r.MultiResBitmap.LoadItemFromStream(ms,i+1);
// ShowMessage('r.MultiResBitmap.LoadFromStream(ms);');
vItem.ImageIndex:=i;
i:=i+1;
next;
end;
end;
except on E: Exception do
ShowMessage(e.Message);
end;
finally
ms.Free;
end;
end;
Yorumları: 4.246
Konuları: 381
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 17.117 Üstad
22-07-2019, Saat: 08:13
(Son Düzenleme: 22-07-2019, Saat: 08:15, Düzenleyen: Fesih ARSLAN.)
Merhaba,
ListViewItem'ın icon özelliğine stream'dan doğrudan bir veri atayabilirsiniz.
Örneğin,
vItem.Icon.LoadFromStream(ms);
Kodunuzun ilgili kısmı en sade şekilde aşağıdaki gibi olmalıdır.
while not eof do
begin
vItem := ListView1.Items.Add;
vItem.Text := FieldByName('ADI').AsString;
TBlobField(datam.cdsUrun.FieldByName('RESIM')).SaveToStream(ms);
vItem.Icon.LoadFromStream(ms);
next;
end;
DelphiCan'dır!
Yorumları: 55
Konuları: 10
Kayıt Tarihi: 20-06-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 24 Başlangıç
Tesekkurler, paylasim icin , benimde mobilden cektigim resmi db ye kayit ettirmem gerekiyor, ayni sekilde yapabilirmiyim. Vede ustad, firedac ile dogrudan dbye baglanamiyorum androitten. hata verip duruyor. bunu illaki bir servis uzerindenmi yapmam gerekiyor.
Yorumları: 4.246
Konuları: 381
Kayıt Tarihi: 07-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 17.117 Üstad
21-08-2020, Saat: 11:10
(Son Düzenleme: 21-08-2020, Saat: 11:13, Düzenleyen: Fesih ARSLAN.)
(21-08-2020, Saat: 10:48)TheEAK Adlı Kullanıcıdan Alıntı: Tesekkurler, paylasim icin , benimde mobilden cektigim resmi db ye kayit ettirmem gerekiyor, ayni sekilde yapabilirmiyim. Vede ustad, firedac ile dogrudan dbye baglanamiyorum androitten. hata verip duruyor. bunu illaki bir servis uzerindenmi yapmam gerekiyor.
Rica ederim.
DB'ye doğrudan bağlanıyorsanız, aynı yöntemle (SaveToStream, LoadFromStream) TBlobField'ı set ederek resmi veri tabanına kaydedebilirsiniz.
Firedac bileşen setleri uzak bağlantı için yalnızca desktop uygulamalarına destek vermektedir. Yani bu bileşen seti ile Android ve iOS uygulamaları uzak veri tabanlarına bağlantı sağlayamazsınız. Fakat lokal (cihaz üzerindeki) SQLite ve IBLite veri tabanlarına bağlanabilirsiniz.
Tavsiye etmemekle birlikte, mobil uygulama ile doğrudan uzak db bağlantıları için Devart Unidac bileşen setini kullanabilirsiniz.
DelphiCan'dır!
Yorumları: 137
Konuları: 25
Kayıt Tarihi: 10-12-2016
Rep Puanı: 337 Acemi
23-10-2020, Saat: 14:22
(Son Düzenleme: 23-01-2023, Saat: 15:56, Düzenleyen: hi_selamlar.)
Bu fonksiyon database'e kaydetmek için işini görecektir.
procedure SavetoFireDACBlob(cds : Tclientdataset; img : Timage; fie : string);
var
BlobStream: tStream;
Surf: TBitmapSurface;
begin
if Img <> nil then
begin
Surf := TBitmapSurface.Create;
Surf.Assign(img.Bitmap);
BlobStream := TMemoryStream.Create;
if not TBitmapCodecManager.SaveToStream(BlobStream, Surf, '.jpg') then
raise EBitmapSavingFailed.Create('No');
BlobStream.Position := 0;
cds.ParamByName(fie).LoadFromStream(BlobStream, ftBlob);
Surf.Free;
end;
end;
Kullanımı:
SavetoFireDACBlob(qutablo,image1,'tablodakiresimalanıadı');
Yorumları: 262
Konuları: 26
Kayıt Tarihi: 29-07-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 317 Acemi
26-10-2020, Saat: 10:02
(Son Düzenleme: 26-10-2020, Saat: 10:29, Düzenleyen: DelphiCan.)
@ Jakarta2,
Form editörümüz üzerinde kod biçimlendirme amacı ile kullandığımız 2 adet buton bulunmaktadır. Delphi Logolu olan ( Delphi Kod Ekle) buton ile Delphi kodu, Süslü Parantez simgeli buton ( Kod Biçimlendirme) ile de diğer dillere ait ( SQL'de dahil) kodlar eklenerek (aşağıdaki ekran görüntüsünde işaretlenmişir), kod biçimlendirme yapılmaktadır.
Bu kapsamda;
Doğru kod tag'larını kullanarak bize yardımcı olursanız memnun oluruz.
Aksi durumda DelphiCan Forum Kurallarında belirtilen yaptırımlar uygulanacaktır.
İlgi ve anlayışınız için şimdiden teşekkür eder, iyi çalışmalar dileriz.
Önemli Not: Herhangi bir yerden kopyaladığınız metni, DelphiCan metin editörüne yapıştırmadan önce, metin editörünün araç çubuğunda bulunan "Kaynağı Görüntüle" butonuna tıklayın. Daha sonra kopyaladığınız metni yapıştırın. Böylece harici bir kaynaktan aldığınız metin biçimlendirmesi yok sayılacaktır.
Delphi Can'dır!
Yorumları: 29
Konuları: 3
Kayıt Tarihi: 08-01-2023
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 10 Başlangıç
Android uygulaması yapıyorum Resim ImageControl1'e resim yükleyebiliyorum onu mysql veritabanıma aktarmaya çalışıyorum bu kodu yazdım yalnız ftblob undeclared identifier hatası veriyor yanlış mı yazıyorum daha sade bir kod mevcut mudur ?
procedure TForm2.Button2Click(Sender: TObject);
var
BlobStream: tStream;
Surf: TBitmapSurface;
begin
if ImageControl1 <> nil then
begin
Surf := TBitmapSurface.Create;
Surf.Assign(ImageControl1.Bitmap);
BlobStream := TMemoryStream.Create;
if not TBitmapCodecManager.SaveToStream(BlobStream, Surf, '.jpg') then
raise EBitmapSavingFailed.Create('No');
BlobStream.Position := 0;
Form3.UniQuery1.ParamByName('pic').LoadFromStream(BlobStream,ftblob);
Form3.UniQuery1.ExecSQL;
Surf.Free;
end;
Form3.Show;
end;
Yorumları: 1.031
Konuları: 31
Kayıt Tarihi: 22-07-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 13
- Delphi 12
- Delphi 11
- Delphi 10 Serisi
Rep Puanı: 5.260 Üstad
23-01-2023, Saat: 15:03
(Son Düzenleme: 23-01-2023, Saat: 15:03, Düzenleyen: RAD Coder.)
@ yemre,
Uses bölümüne Data.DB ekleyin.
Begin : = end / 2;
|