application.ProcessMessages ev Progressbar hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

application.ProcessMessages ev Progressbar hakkında

Mesaj gönderen tayipk »

merhaba arkadaşlar benim 2 tane sorum var bunlar;

1 - Application.ProcessMessages : Arkadaşlar programımda while do döngüsüne gireyorum yaklaşık 35.000 stok kartını programda tek tek stokhareket tablosunda olup olmadığını sorduracam stokhareket tablom da yoksa başka bir tabloya taşıyacam yada silecem fakat bu işlemleri yaparken programda başka hiç bir menüye müdehale edemiyorum Application.ProcessMessages Komutunun buna müsade ettiğini duymuştum döngüye girmeden önce Application.ProcessMessages komutunu yazdım çalıştırdım ama hiç bir şey olmadı yine aynı hiçbir menüye tıklayıp diğer işlemlerime devam edemiyorum.

2 - Progressbar : Bu konuylada ilgili şöyle bir sorum var arkadaşlar Adoquery1 de 35.000 tane kayıt var diyelim yukarıdaki işlemi yaptırırkende progressbar da ilerlemeyi görmek istiyorum

Kod: Tümünü seç

progressbar1.position:=progressbar1.position+1
komutuyla progressbar ı 1 arıttırıyorum ama 100. kayıtta %100 oluyor haliyle :) bende 100/adoquery1.recordcount formulü ile bir değer alayım progressbar1+deger yaparım dedim ama buda float değer döndürüyor progressbara ekleyemiyorum Progressbar1 i adoquery deki recordcount a göre nasıl hareket ettirebilirim.

Yardımlarınız için şimdiden teşekkürederim arkadaşlar.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: application.ProcessMessages ev Progressbar hakkında

Mesaj gönderen greenegitim »

Örnek Aktarım

Kod: Tümünü seç

ibquery1.First;
ProgressBar1.Position:=0;
ProgressBar1.Min:=0;
ProgressBar1.Max:=ibquery1.RecordCount;
ProgressBar1.Update;

 while not ibquery1.EOF do

    begin
 işlemleri yap
    ProgressBar1.Position:=ProgressBar1.Position+1;
    ProgressBar1.Update;
     ibquery1.Next;
    ibquery1.Prepare
end;
//işlem bitti
Mücadele güzelleştirir!
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: application.ProcessMessages ev Progressbar hakkında

Mesaj gönderen xxxjedixxx »

Application.ProcessMessages 'ı döngü içinde kullanmalısın.
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: application.ProcessMessages ev Progressbar hakkında

Mesaj gönderen tayipk »

greenegitim yazdı:Örnek Aktarım

Kod: Tümünü seç

ibquery1.First;
ProgressBar1.Position:=0;
ProgressBar1.Min:=0;
ProgressBar1.Max:=ibquery1.RecordCount;
ProgressBar1.Update;

 while not ibquery1.EOF do

    begin
 işlemleri yap
    ProgressBar1.Position:=ProgressBar1.Position+1;
    ProgressBar1.Update;
     ibquery1.Next;
    ibquery1.Prepare
end;
//işlem bitti
teşekkürederim hocam progressbar sorunum gösterdiğin yöntem sayesinde çözüldü
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: application.ProcessMessages ev Progressbar hakkında

Mesaj gönderen tayipk »

xxxjedixxx yazdı:Application.ProcessMessages 'ı döngü içinde kullanmalısın.
teşekkürederim hocam dediğin gibi döngü içine aldım sorun ortadan kalktı çok sağol :)
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Cevapla