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

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Uzun süren işlemi hızlandırma
#1
Merhaba;

Listviewde seçili satırdan sonraki satırların tümünü seçmek istiyorum, 500 adet satır var fakat bu 500 satırın seçilmesi yaklaşık 30 saniye sürüyor. acaba satırların daha hızlı seçilmesini nasıl sağlaya bilirim?


procedure TForm2.TumuClick(Sender: TObject);
begin
  if ListemList.SelCount > 0 then
  begin
    for J := ListemList.Selected.Index to ListemList.Items.Count - 1 do
    begin
      ListemList.Items[J].Selected := True;
    end;
  end;
end;
Cevapla
#2
Listview in BeginUpdate ve EndUpdate özellikleri olması lazım, onları kullanarak denediniz mi?

procedure TForm2.TumuClick(Sender: TObject);
begin

ListemList.items.beginupdate;
 
if ListemList.SelCount > 0 then
 begin
   for J := ListemList.Selected.Index to ListemList.Items.Count - 1 do
   begin
     ListemList.Items[J].Selected := True;
   end;
 end;

ListemList.items.EndUpdate;

end;
Cevapla
#3
Evet, BeginUpdate-EndUpdate size belirgin bir hız kazandıracaktır ama yetersiz gelirse Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol kullanabilirsiniz:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
There's no place like 127.0.0.1
WWW
Cevapla
#4
Merhaba,

Görsel olarak ekranda oluşan komponentlerin yenilenmesi hususunda Komponent.BeginUpdate ile başlayıp, işlem bitiminde Komponent.EndUpdate fonksiyonlarını tetiklemek, ekranda herhangi bir şekilde refresh olmadığında, ilgili komponentin değişen verilerinin gösterimini hızlı bir şekilde sağlıyor ve işlemlerini daha rahat yaptırıyor.

Özellikle FMX projelerinizde StringGrid, ComboBox, ListBox, ListView gibi komponentler kullanırsanız kesinlikle BeginUpdate ve EndUpdate kullanmalısınız.
{ talk is cheap show me the code. }
Cevapla
#5
500 satırın seçilmesi yaklaşık 30 saniye sürüyor olması ilginç, bence listviewde ikinci bir kodlamaya takılıyordur.
Cevapla
#6
basit bir test yaptım 500 labe objesi ekledim ve seçmesi 100 milisaniye sürmüyor
Acaba listView eventlerinde birşeyler yapıyor olablirmisin.
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#7
(16-01-2018, Saat: 15:23)brs Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol500 satırın seçilmesi yaklaşık 30 saniye sürüyor olması ilginç, bence listviewde ikinci bir kodlamaya takılıyordur.

teşekkür ederim.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Json Parse İşlemi yhackup 12 752 21-02-2018, Saat: 07:59
Son Yorum: 10.Köy
  XML Parse İşlemi (CDATA) yhackup 2 114 22-01-2018, Saat: 19:52
Son Yorum: adelphiforumz
  Delphi ve PHP arasında Encrypt/Decrypt İşlemi - Yardım mad85 13 437 24-11-2017, Saat: 20:48
Son Yorum: narkotik
Photo Cxgridtableview iki kolonu çarpma işlemi cinarbil 18 847 02-07-2017, Saat: 01:11
Son Yorum: DelphiCan
  Parayı çarpma ve toplama işlemi serhat 15 881 17-06-2017, Saat: 22:35
Son Yorum: meko



Konuyu Okuyanlar: 1 Ziyaretçi