Timer Nesnesi Ve Kullanım Yeri

9 Tem 2007
130
0
TIMER NESNESİ

Timer(Zamanlayıcı)

Zaman saatidir.Zamanın takip edilmesini sağlar,zamanlayıcı denetimidir ve çalışma kipinde görülmezler.Programda zamana bağlı işlemler yapılabilmesini sağlayan bileşendir.Timer nesnesi,kullanıcının göremeyeceği fakat belirtilen zaman aralıklarında istenilen görevleri yerine getiren bir nesnedir.
Bu nesneyi örneğin,saat yapımında kullanabiliriz.Nesneden saat yapmasını bekleyemeyiz.Sadece 1 saniye zaman birimini bu nesne sayesinde kullanabiliriz.
Eğer işlerin zamana göre yapılmasını istiyorsak timer nesnesini kullanırız.Özellikler kısmındaki invertal ile kaç milisaniyede bir işlevin tekrar edileceğini ayarlayabiliriz.Uygulamanın çalışması esnasında,zamana bağlı olarak belirli aralıklarla,belirli eylemlerin gerçekleşmesini denetlemek için kullanılır.

  • Timer1.Interval = 1000 ‘ 1 saniyede 1 işlem yapılır
  • Timer1.Interval = 500 ‘ 0,5 saniyede bir işlem yapılır
TİMER NESNESİ ÖZELLİKLERİ

* Timer nesnesinin önemli iki özelliği vardır.

Timer1.invertal= Zamanlamanın ne kadar olacağının ayarıdır.Yani,Timer denetiminin ne kadar aralıkla Timer olayını üreteceğini belirleriz.Milisaniye cinsinden bir değer yazarız.1 saniye için 1000 yazmalıyız.

Timer1.enabled= Timer denetiminin aktif veya pasif olacağını belirler.Yani,Bu değeri enable yaparsak etkin,disable yaparsak etkin dışı olur.

Zamanlayıcı denetiminin, aşağıda da görüldüğü gibi fazla özelliği yoktur

  • Enabled
  • Index
  • Interval
  • Left
  • Name
  • Parent
  • Tag
  • Top

Name özelliği hariç (bir tmr ön takısı tavsiye edilir), zamanlayıcı denetiminin önemli olan sadece iki özelliği vardır.Enabled ve Interval özellikleri.Gerçektende zamanlayıcının herhangi bir şey yapmasını sağlamak için (Enabled özelliğinin değerinin,başlangıç değeri olan True olduğunu var sayarsak) bu özelliklerin değerlerini ayarlamamız gerekir.Left ve Top özellikleri aslında gereksizdir.Bir zamanlayıcıyı bir form üzerinde nereye yerleştirdiğimiz pek fark etmez.

Interval özelliği mili saniye cinsinden ölçülür. Bu da saniyeleri saymak istediğimiz taktirde bu saniye sayısına 1000 ile çarpmamız gerektiği anlamına gelir.Bu süre geçtikten sonra (zamanlayıcı devrede ise),zamanlayıcı kendi TIMER olayını üretir.Bu işi de kısa aralıklarla sistem saatini kontrol ederek yapar.

TİMER OLAYLARI

Zamanlayıcı denetiminin sadece bir tek,uygun bir biçimde TIMER()adlı bir olayı vardır.Daha öncede belirtildiği gibi de bu olay belirli bir sürenin her geçişinde gerçekleşir.Bu süre Interval özelliği tarafından belirlenir.TIMER() olayının gerçekleşmesini durdurmak için çalışma kipinde zamanlayıcının Enabled özelliğinin değerine False yapabiliriz.

Timer olayını kullanarak istediğimiz aralıklarla olaylar gerçekleştirebiliriz.

Örnek: Bir saat yapalım.

Kod:
Private Sub Timer1_Timer ( )
Text1.Text=Time
End Sub

Örnek: Zamanı saniye cinsinden veren program.
Kod:
Dim sn
Sn=Timer
Msgbox sn

ÖRNEK: Timer kontrolü kullanarak form başlığında saati gösteren bir program yazalım.Bunun için timer nesnesinin invertal özelliğini 1000 (1saniye) yapalım.

Kod:
Private Sub Timer1_Timer ( )
 	   Form1.Caption= “Saat :” + Timer
End Sub

ÖRNEK: Bir Text yada Label üzerinden kayan bir yazı programı yazalım.Program için 1 adet Timer ve 1 adet Text veya Label gerekir.

Kod:
Option Explicit
Dim yazi As string

Private Sub Form_Load( )
  Yazi=string(5, “ ” ) + “EMİNE”
End Sub

Private Sub Timer1_Timer( )
  Yazi=mid (yazi,2)left (yazi,1)
  Text1.Text=yazi
End Sub

ÖRNEK: Timer kontrolü ile ayarlanan saat için alarm çalan bir program kodu yazalım.Bu kod için bir Timer ve adı ZAMAN olan bir text kutusu gerekmektedir.

Kod:
Option Explicit
Dim saat,dakika,saniye As byte
Private Sub Form_Load( )
Saat=Inputbox ( “Alarm saati giriniz: ”)
Dakika=Inputbox ( “Alarm dakikasını giriniz: ”)
Saniye=Inputbox ( “Alarm saniyesini giriniz: ”)
Zaman.Text=saat +  “ : ” + dakika + ” : ” + saniye 
End Sub

Private Sub Timer1_Timer ( )
İf (hour (now)=val (trim(saat))) and (minute (now)=val (trim (dakika))) and (second (now) val (trim (saniye))) then beep: beep: beep
Else
End if
End Sub

ZAMANLAYICI YÖNTEMLERİ

Zamanlayıcı yöntemi hiçbir yöntemi desteklemez.

ZAMANLAYICILARIN KULLANILMASI

Zamanlayıcı denetimi (yanda görülüyor),çalışma kipinde gizli olan az sayıdaki denetimden biridir.Bu da onun için bir form üzerinde yer bulmamıza gerek kalmadığı anlamına gelir;herhangi bir yere hatta mevcut denetimlerin üzerine bile yerleştirilebilir.Zamanlayıcı temel olarak sadece bir tek iş yapar.Sistem saatini kontrol eder ve buna göre bir tutum belirler.

BİR ZAMANLAYICI DENETİMİNİ DENEYELİM

Zamanlayıcının nasıl çalıştığı hakkında bir fikir edinmek için bir başlık çubuğu saati yapalım.

1.File→New Project komutunu vererek yeni bir proje açalım.Proje tipi Standard EXE. Olarak seçelim.

2.Form 1.’in Name özelliğinin değerini Frmmain,Caption özelliğinin değerini Application time yapalım.

3.FrmMain’e bir zamanlayıcı ekleyelim.Name özelliğinin değerini Tmrtimer yapalım.

4.Bu zamanlayıcının Interval özelliğinin değerini 500 yapalım.Bu saatin kendisi her yarım saniyede bir kontrol etmesini istiyoruz.Bunu zamanlayıcı denetimi bu türdeki diğer denetimler kadar hassas olmadığı için yaparız,ancak bu örnek için işe yarar.

5.Aşağıdaki kodu Frm Main’in (general)(Declarations)yordamına ekleyelim:
Kod:
	Option Explicit
	Private OldCaption As String

6.Aşağıdaki kodu form_Load() olayına ekleyelim
Kod:
	Private sub Form_Load()
	Oldcaption=Me.Caption
	End Sub.

7.Şimdide aşağıdaki kodu zamanlayıcının Timer ()olayına ekleyelim.
Kod:
	Private Sub TmrTimer_Timer()
	Dim msg As String 
	Msg=OldCaption &”:”& Time$
	Caption=Msg
	End Sub.

8.Uygulamayı kaydederek Run→Start komutunu vermek suretiyle çalıştıralım.
Bu etiketin biraz titrediğini fark edebiliriz.Bu durumu Timer() olayındaki kodu, Caption güncelleme sayısını en aza indirgeyecek biçimde değiştirerek azaltabiliriz.
Kod:
	Private Sub TmrTimer_Timer()
	Dim msg as string 
	Msg=OldCaption & “:” &Time $
	If msg <>Caption Then 
	Caption=msg
	End İf
	End Sub

İf …Then ifadesi Time $ tarafından döndürülen saatin değişip değişmediğini kontrol eder.Msg karakter katarı Caption değerinden farklı olursa,bu zaman değişikliğini yansıtmak için Caption özelliğinin değerini değiştiririz,aksi taktirde Caption üzerinde bir güncellemeye neden olacak herhangi bir şey yapamayız.Titreme de geçer.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.