Saniye Arayla Buttonlara Nasıl Basarım?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mc_rapier
Üye
Mesajlar: 41
Kayıt: 15 Kas 2005 10:37
Konum: c:\windows\system32\
İletişim:

Saniye Arayla Buttonlara Nasıl Basarım?

Mesaj gönderen mc_rapier »

S.A Programımda Bir Sorun Yaşıyorum Sizlerin Yardımcı Olabileceğini Düşündüm. Sorum Şu;

Benim 5 Tane Görevli Buttonum Var.
Bir Tanede Kontrol Buttonum Var.
Ben Bu Kontrol Buttonuna Bastığımda Diğer 5 Buttona Saniye Farkıyla Basmasını İstiyorum Nasıl Yaparım?

procedure TForm1.KontrolClick(Sender: TObject);
begin
Button1.Click;
//Biraz Bekleyecek (Saniye Ayarı İle (Sanırım Timer))
Button2.Click;
//Bekle
Button3.Click;
//Bekle
Button4.Click;
//Bekle
Button5.Click;
end;
parmakları kırılan bu yazar yılmadı
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

procedure TForm1.KontrolClick(Sender: TObject);
begin
Button1.Click;
//Biraz Bekleyecek (Saniye Ayarı İle (Sanırım Timer))
sleep(1000); //1 saniye bekle
Button2.Click;
//Bekle
sleep(1000);
Button3.Click;
//Bekle
sleep(1000);
Button4.Click;
//Bekle
sleep(1000);
Button5.Click;
end;
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mc_rapier
Üye
Mesajlar: 41
Kayıt: 15 Kas 2005 10:37
Konum: c:\windows\system32\
İletişim:

Mesaj gönderen mc_rapier »

Bu Sleep Programımı Bekletiyor Yoksa Diğer Göreve Geçmeyimi Bekletiyor?
parmakları kırılan bu yazar yılmadı
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

mc_rapier yazdı:Bu Sleep Programımı Bekletiyor Yoksa Diğer Göreve Geçmeyimi Bekletiyor?
bunu deneyerek gorebilirsin
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mc_rapier
Üye
Mesajlar: 41
Kayıt: 15 Kas 2005 10:37
Konum: c:\windows\system32\
İletişim:

Mesaj gönderen mc_rapier »

Sleep Programı Bekletiyormuş. Program Bekledikden Sonra Button Saniye Aralığıyla Bassa Bişey Değişmez İşimi Görmez. Ben Arkadan Programın İş Yapmasını İstiyorum:(
parmakları kırılan bu yazar yılmadı
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

merhaba,

sleep komutu programın işleyişini verdiğiniz süre kadar bekletir.
1000 = 1sn

zaten sleep kullanmasanızda

button1click;
button2click;

komutlarında button1click in işleyişi bitmeden button2click başlamaz.
Sizin sorunuz sanırım birden fazla işlemin aynı anda yapılması yada saniye farkıyla bu işlemlerin başlatılması.eğer doğru anladıysam thread olarak bir arama yapın.kolay gelsin.
Kullanıcı avatarı
mc_rapier
Üye
Mesajlar: 41
Kayıt: 15 Kas 2005 10:37
Konum: c:\windows\system32\
İletişim:

Mesaj gönderen mc_rapier »

ylmz yazdı:merhaba,

sleep komutu programın işleyişini verdiğiniz süre kadar bekletir.
1000 = 1sn

zaten sleep kullanmasanızda

button1click;
button2click;

komutlarında button1click in işleyişi bitmeden button2click başlamaz.
Sizin sorunuz sanırım birden fazla işlemin aynı anda yapılması yada saniye farkıyla bu işlemlerin başlatılması.eğer doğru anladıysam thread olarak bir arama yapın.kolay gelsin.
Aynen Öyle. WebBrowser'de İki Linki Birden Açamayacağıma Göre :)
parmakları kırılan bu yazar yılmadı
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

procedure Bekle(Saniye:byte);
var
BaslangicZamani:cardinal;
begin

BaslangicZamani := GetTickCount;

repeat
  Application.ProcessMessages
until GetTickCount - BaslangicZamani > Saniye * 1000;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
bekle(11)
end;
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mc_rapier
Üye
Mesajlar: 41
Kayıt: 15 Kas 2005 10:37
Konum: c:\windows\system32\
İletişim:

Mesaj gönderen mc_rapier »

Helal Olsun Süpersin Hiç Umudum Yoktu Acayip İşime Yaradı Allah Razı Olsun A :P
parmakları kırılan bu yazar yılmadı
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

merhaba,

@saadettinpolat demişki
procedure Bekle(Saniye:byte);
var
BaslangicZamani:cardinal;
begin

BaslangicZamani := GetTickCount;

repeat
Application.ProcessMessages
until GetTickCount - BaslangicZamani > Saniye * 1000;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
bekle(11)
end;
bildiğim kadarıyla application.processmessages ikinci bir işi başlatmaz.yani button1click in içinde application.processmessages 'in olması kod satırında button2click olayını başlatmaz.sadece sistemde yapılması gereken başka işler varsa sisteme bunu yapması için zaman tanır.mous un hareketi vb.gibi.ben öyle hatırlıyorum.yanlışsa düzeltin lütfen.

iyi çalışmalar.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

ylmz yazdı: bildiğim kadarıyla application.processmessages ikinci bir işi başlatmaz.
haklısın. burda yapılan islem birincidugmeye basildiginda birinci dugme isini bitiriyor, aradan belirli bir saniye gecince ikinci dugmedeki islemleri yapiyor. ilk ornekten tek farki bu bekleme suresi icerisinde program kullanici girdilerine cevap verebiliyor.

@mc_rapier arkadasimiz isine yaradigini soyledigine gore aradaki anlasmazlik problemi bize tam olarak aktaramamis olmasindan kaynaklaniyor olabilir.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla