Tüm Platformlar için Hızlı Uygulama Geliştirme Kitap Yayın Süreci
Kitap gözden geçirilmek üzere BTG (Bilgi ve Teknoloji Grubu) 'na gönderildi. 05.10.2018-14:10
BTG (Bilgi ve Teknoloji Grubu) tarafından iki sayfalık bir reklam tasarımı bekleniyor. 08.10.2018 - 15:30
Kitap basım talebi değerlendirilmek üzere matbaaya bildirildi. Matbaadan basım süreci hakkında bilgi bekleniyor. 15.10.2018 - 15:34
Kitap 1.000 adet basım talebi ile matbaaya gönderildi. 16.10.2018 - 16:50

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.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
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
  XML işlemi ahmetb 9 215 04-10-2018, Saat: 23:35
Son Yorum: uparlayan
  Stok Listesi Hızlandırma glagher 23 1.166 22-09-2018, Saat: 22:34
Son Yorum: uparlayan
  Uzun özellikli bir tablo hk. seci20 7 321 20-07-2018, Saat: 09:46
Son Yorum: ssahinoglu
  İşlemi hızlandırma? Thread? canbir 14 727 07-07-2018, Saat: 00:51
Son Yorum: ssahinoglu
  String Parse İşlemi yhackup 1 163 27-06-2018, Saat: 09:54
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi