Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 3/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Listviewresim yolu
#1
Selam;


Listview de imagelist deki resimleri gösteriyorum, acaba bilgisayarda bulunan resim yolunu vererek (Data['Image'] := 'C:\Users\Solo\Kitaplıklar\Resimler\İcon\32x32 right.png')  lisview de bu resimleri nasıl göstere bilirim?
Cevapla
#2
Merhaba. Ben netden indiriyordum asenkron bir şekilde kasmadan. Bu kod parçası düzenleyerek projenize uygun hale getirerek kullana bilirsiniz.

 
procedure setLogo(ListView: TListView; code, url: string; id: Integer);
  var
   Cache: string;
   T: TThread;
 begin
   Cache := TPath.GetCachePath + '/AzerBoxPlus/Cache/';
   if not TFile.Exists(Cache + code + '.png') then
   begin
     T := TThread.CreateAnonymousThread(
     procedure
     var
       HTTP: TIdHTTP;
       MS: TMemoryStream;
     begin
       MS := TMemoryStream.Create;
       HTTP := TIdHTTP.Create(nil);
       try
         try
           HTTP.Get(url, MS);
           TThread.Synchronize(TThread.CurrentThread,
             procedure()
             begin
               ListView.Items[id].Bitmap.LoadFromStream(MS);
               MS.SaveToFile(Cache + code + '.png');
             end);
         except
           MS.Free;
         end;
       finally
         HTTP.Free;
       end;
     end);
     T.start;
   end else
   begin
     T := TThread.CreateAnonymousThread(
     procedure
     begin
       TThread.Synchronize(TThread.CurrentThread,
       procedure()
       begin
         ListView.Items[id].Bitmap.LoadFromFile(Cache + code + '.png');
       end);
     end);
     T.start;
   end;
 end;

setLogo(ListView, 'dosya ismi', 'url', index);

Kaynak: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#3
AliZairov, paylaştığınız metodda ilk bakışta, TMemoryStream için yüksek ihtimalli bir memory leak görünüyor. Dikkatinize. (try/except)
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#4
(15-05-2017, Saat: 17:27)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAliZairov, paylaştığınız metodda ilk bakışta, TMemoryStream için yüksek ihtimalli bir memory leak görünüyor. Dikkatinize. (try/except)

Teşekkürler Tuğrul bey. Bende sayenizde fark ettim.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ios ini dosyası okuma yazma doya yolu rahim@kirazyazilim.com 1 333 27-11-2017, Saat: 18:33
Son Yorum: Fesih ARSLAN
  Sqllite büyük dosya ve yolu hk. pro_imaj 15 1.617 17-08-2017, Saat: 11:25
Son Yorum: pro_imaj



Konuyu Okuyanlar: 1 Ziyaretçi