C# Timer ile Saat Yapımı

Hepimizin bildiği gibi Timer bir işi belli zaman aralıklarında yaptırmak istediğimiz zaman, milisaniye cinsinden geçen süreyi hesaplamak için kullandığımız nesnedir. Belirli zaman aralıklarında Tick olayı gerçekleşir ve istediğimiz komutlar işleme girer.

Bu yazımda Timer fonksiyonu yardımıyla anlık saat, dakika, saniye bilgilerini alma konusunda uygulama yapacağız. Şöyle ki üzerinde çalıştığım muhasebe programında bir satış ekranı var ve satış yapıldığı zaman faturaya, satışın yapıldığı o saati dakikayı ve saniyeyi anlık olarak kaydetmek gerekir. En basit haliyle marketlerde alışverişlerimizden sonra verilen alışveriş fişlerini göz önüne getirirsek fişin kesildiği saatin saniyesine kadar yazdığını görebiliriz. Burada yapılan Timer fonksiyonunu saat gibi kullanmaktan başka birşey değildir.

Artık uygulamamıza geçebiliriz. Windows Form Application‘da toolbox‘tan timer nesnesini bulup formumuza ekliyoruz.

Her 1000 milisaniyede (1 sn) bir tetiklenmesi için Properties‘den Interval değerini 1000 olarak ayarlıyoruz.(Resimdeki default değer.)

Ben saati formumda bulunan txtSaat isimli textbox a ekleyeceğim.Timer nesnesine çift tıklayarak timer1_Tick eventini oluşturuyorum ve event içine çalışmasını istediğim kodları yazıyorum.

Timer1_Tick eventi içinde tanımladığım saat değişkenine DateTime.Now.ToLongTimeString() yöntemi ile o anın saatini uzun haliyle atıyorum. Bu yöntem bana saat, dakika, saniye değerlerini getirir.

Kodumuz Timer eveti içinde olduğu için her 1000 milisaniyede bir çalışıyor ve saniye de bir textboxtaki değer yenileniyor. Bu sayede saat değerini veren bir textbox’a sahip olmuş olduk.Şu an uyguladığımız mantığa göre Interval değerini kısa tutsak bile kodun yanlış çalışması gibi bir durum olmaz. Saniyede on kez girse bile zaten o anki saati getirecek şekilde ayarlandığı için sorunsuz getirir. Intervali saniye de bir kez çalışacak şekilde ayarlama sebebimiz programı yormaya gerek olmadığı düşünmemizden dolayı. Aynı saniye değerini saniyenin onda biri zaman dilimlerinde on kez getirtmek gereksiz olacaktır.

Bu aşamadan sonra tek yapmamız gereken Form_Load da Timer nesnesini başlatmak.
[csharp]
timer1.Enabled = true;
[/csharp]
Kolay gelsin..

4 thoughts on “C# Timer ile Saat Yapımı

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir