Query' den ListBox'a ya da diziye aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
anubis79
Üye
Mesajlar: 11
Kayıt: 09 Tem 2003 09:02

Query' den ListBox'a ya da diziye aktarma

Mesaj gönderen anubis79 »

Query' den ListBox'a ya da diziye aktarma ile ilgili problem yaşıyoruz. Query' nin Next ifadesi ile bu aktarma işlemini gerçekleştiriyoruz ancak döngü yavaş çalışıyor. İstemci tarafına çektiğimiz 150.000 string ifadeyi bu şekilde (Next kullanarak) for döngüsü ile diziye aktarmak çok zaman alıyor. Vt-->MySQL ve erişim bileşen setimiz Zeos. 150.000 kaydı Query ile ortalama 3 saniyede sunucudan istemci uygulamaya alıyoruz. Buraya kadar sorun yok. Ancak bu kayıtları dinamik bir diziye aktarmamız gerekiyor ancak bu noktada zaman kaybımız çok fazla. Bu işlemi en hızlı biçimde nasıl yapabiliriz? Önerileriniz nelerdir?
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
3 saniyede tüm tabloyu fetch mi yapıyorsunuz yoksa query yada table yi open mi ediyorsunuz?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
anubis79
Üye
Mesajlar: 11
Kayıt: 09 Tem 2003 09:02

Mesaj gönderen anubis79 »

Açıyoruz (open yada active ediyoruz)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
1. 150.000 kayıdı okumasının zaman alması normal. tabloyu open ettiğiniz zaman tüm kayıtlar istemci tarafına alınmaz.
2. Görsel bileşen kullanarak bu işi yapmanız zaman açısından sizi yavaşlatacaktır. aynı işlemi döngüden önce

Kod: Tümünü seç

tabloadi.disablecontrols;
döngüden sonra ise

Kod: Tümünü seç

tabloadi.enablecontrols;
kullanarak yapmanız hızı biraz arttırır ama sanırım bu artış sizin için yeterli olmayacaktır.
3. bu nun için dinamik diziler üzerinde biraz araştırma yapmanızı tavsiye edeceğim. Eğer ingilizceden okuduğunuzu anlayabiliyorsanız delphinin helpini de ilave ederek sitede bi arama yapmanızı tavsiye edeceğim.

Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

TStringList a attıktan sonra Listbox.Items e Assign etmeyi deneyin.
anubis79
Üye
Mesajlar: 11
Kayıt: 09 Tem 2003 09:02

Mesaj gönderen anubis79 »

İlgilenen herkeze teşekkürler. Bir takım bileşenleri siable yaptığımızda istediğimiz hızlanmayı elde ettik. kolay gelsin...
Cevapla