Belirli zaman aralıklarında veya belirli bir süre içerisinde çalışmasını istediğiniz her hangi bir kod, olay varsa, istenilen bu işi yapmamız için gereken bileşen timer bileşenidir. Eğer her saniye çalışmasını istediğiniz bir kod varsa bunu timer bileşeninin OnTimer olayına yazarız. Ardından bileşenin Interval özelliğini 1000 olarak ayarlarsak yazdığımız kod her saniye işletilir.
Enabled Özelliği: Timer bileşeninin kodları çalıştırıp çalıştırmayacağına karar verdiği özelliğidir. Eğer enabled özelliği true ise timer istenilen sürelerde kodları çalıştırır. Enabled özelliği false ise timer çalışmaz.
Aşağıdaki kodlarda timer bileşenin enabled özelliği true ve false olarak değiştiriliyor.
Timer1.Enabled := True; // timer aktif hale getiriliyor
Timer1.Enabled := False; // timer pasif hale getiriliyor
Interval Özelliği: Bu özellik timer bileşeninin hangi aralıklarla işletileceğini belirten özelliğidir. Eğer Intervali 1000 olarak ayarlanırsa timer her saniye işleyecektir. Yani 1000 değeri 1 saniye anlamına gelmektedir. Eğer Interval değeri 500 olursa timer saniyede 2 kez işleyecektir.
Timer İle Kronometre Yapımı
Delphide timer kullanarak krometre yapımını aşağıdaki örnekte olduğu gibi gerçekleştirebiliriz. Uygulama için forma 3 adet button (başla/devam, durdur ve sıfırlamak için), 1 adet label (süreyi yazmak için) ve 1 tanede timer bileşeni (süreyi kontrol etmek için) eklenir.
Bileşenlerin isimlerini aşağıdaki şekilde değiştirelim.
Button: btnBasla
Button: btnDurdur
Button: btnSifirla
Button: btnBasla
Button: btnDurdur
Button: btnSifirla
Label: lblSure
Timer: tmrZaman
Timer bileşenin Interval özelliği 100 olarak ayarlanırsa kronometre her saniyeyi 10 eşit parçaya bölerek çalışacaktır.
- var
- sure : Integer;
- procedure TForm1.tmrZamanTimer(Sender: TObject);
- var
- sn, ss :Integer;
- begin
- inc(sure); // sure := sure + 1 ile aynıdır. Sure değişkeninin değerini 1 artırır
- sn := (sure div 10); // geçen sürenin 10a bölümünden bölümü alır ve saniyeyi bulur
- ss := (sure mod 10); // geçen sürenin 10a bölümünden kalanı alır ve saliseyi bulur
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- sure := 0; // form oluşturulurken sure değişkenini sıfırlar
- end;
- procedure TForm1.btnBaslaClick(Sender: TObject);
- begin
- tmrZaman.Enabled := true; // timer bileşenini aktif hale getirir
- end;
- procedure TForm1.btnDurdurClick(Sender: TObject);
- begin
- tmrZaman.Enabled := false; // timer bileşenini pasif hale getirir
- end;
- procedure TForm1.btnSifirlaClick(Sender: TObject);
- begin
- tmrZaman.Enabled := false; // timer bileşenini durdurur
- sure := 0; // süreyi sıfırlar
- lblSure.Caption := ’0′; // süreyi labela yazar
- end;
Hiç yorum yok:
Yorum Gönder