Delphi Can
timer kullanimi hakkinda - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: timer kullanimi hakkinda (/showthread.php?tid=7694)

Sayfalar: 1 2


timer kullanimi hakkinda - sadikacar60 - 24-04-2024

arkadaslar dk sayisina gore oyun acmam lazim  ornegin prg. 28 kaydettigimde timer 1 dk ayarli geriye dogru 1 dk 1 dk sayiyor 0 olunca oyun bitiyor.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
say:=say-1;
Label1.Caption:=IntToStr(say);
end;

yukardaki ornek uygulamada bazen 12 den 7 ye dusuyor 25 den 20 ye dusuyor
zamani stabil sekilde nasil olcebilirim.

bilgisayarin saatini kullanmayi deneyecegim 
timer icinde saatin dk larini sayip o sekilde zamani tutmaya calisacagim bakalim nasil bir kod cikacak
baska nasil yapilir bu konuda fikir paylasirsaniz sevinirim saygilar.


timer kullanimi hakkinda - yhackup - 24-04-2024

timerin intervalini ne ayarladın. Bu ne uygulaması VCL mi ?


timer kullanimi hakkinda - sadikacar60 - 24-04-2024

delphi7 deneme icin invertal 1000 yaptim saniyeleri sayarak deniyorum ama ilerde dkikalari sayacak sekilde ayarlamam gerekecek


timer kullanimi hakkinda - yanniosman - 24-04-2024

Saate göre hesabı yapmalısınız. Timer, işlemcinin çalışma yoğunluğundan etkilenir. Main thread üzerinde yoğun işlem yapıyorsanız da etkilenir.


timer kullanimi hakkinda - yhackup - 25-04-2024

(24-04-2024, Saat: 19:51)sadikacar60 Adlı Kullanıcıdan Alıntı: delphi7 deneme icin invertal 1000 yaptim saniyeleri sayarak deniyorum ama ilerde dkikalari sayacak sekilde ayarlamam gerekecek

Böyle zıplaya zıplaya gidiyorsa ana thread üzerinde kitleyen bir iş yapıyorsunuz her ne yapıyorsanız Thread içinde yapın. sorun düzelir.


timer kullanimi hakkinda - Tuğrul HELVACI - 25-04-2024

Timer kullanmayın, bununla alakalı bir çok açıklayıcı mesajımı bulabilirsiniz. Bunun yerine Waitable Timer kullanın.


Cvp: timer kullanimi hakkinda - yhackup - 25-04-2024

Bu arada,

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  say:=say-1;
  Label1.Caption:=IntToStr(Dec(say));
end;

yerine


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Dec(say);
  Label1.Caption:=IntToStr(say);
end;

 daha ciks görünür Smile


timer kullanimi hakkinda - sadikacar60 - 27-04-2024

ugrastim ama beceremedim.
diyelimki 20 dk oyun acip progres barda 20 den 0 a kadar geriye saydirmak istiyoruz.
bu da bilgisayarin sistem saatinden dk bilgisini alarak yapmak istiyoruz.
bunu yapmak icin forma 1 timer koyun 1 sn de sistem saatini okuyup dakika bilgisini alip ona gore geri sayim yapacak bir kod lazim
kafa patlattim nasil yaparim diye ama ortaya bir sey cikaramadim.. bir turlu algoritma kuramadim.
biraz yonlendirma yaparsaniz sevinirim
saygilar


Cvp: timer kullanimi hakkinda - enigma - 27-04-2024

(27-04-2024, Saat: 15:00)sadikacar60 Adlı Kullanıcıdan Alıntı: ugrastim ama beceremedim.
diyelimki 20 dk oyun acip progres barda 20 den 0 a kadar geriye saydirmak istiyoruz.
bu da bilgisayarin sistem saatinden dk bilgisini alarak yapmak istiyoruz.
bunu yapmak icin forma 1 timer koyun 1 sn de sistem saatini okuyup dakika bilgisini alip ona gore geri sayim yapacak bir kod lazim
kafa patlattim nasil yaparim diye ama ortaya bir sey cikaramadim.. bir turlu algoritma kuramadim.
biraz yonlendirma yaparsaniz sevinirim
saygilar

Yapmak istediğiniz kontrolü Timer1'in Event'ına (OnTimer) tıklayıp açılan procedure içine yazcaksınız. Bu procedure Timer1'in interval değeri (miliSaniye) olarak neyse o zaman dolduğunda tetiklenir. Default 1000 gelir. Bu da 1 sn. demektir. Bu procedure içine yazacağınız kod ile her saniye kontrol yapacaksınız.


timer kullanimi hakkinda - sadikacar60 - 27-04-2024

MinutesBetween metodunu deneyecegim baslangic saatini surekli anlik saat bilgisiyle karsilastirip ne kadar gure gectigini bulmaya calisacagim