Geri git   CurcunaForum.Org > Webmaster - Grafik - Tasarım > Delphi , Visual basic , C , C++
Kayıt ol Yardım Topluluk

Delphi , Visual basic , C , C++ Delphi , visual basic.

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 04-08-2008   #1
Profil
Üye
Avatar Yok
 
Üyelik tarihi: Mar 2007
Mesajlar: 907
Üye No: 114

Seviye: 26 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Canlılık: 0 / 646
Çekicilik: 302 / 34368
Tecrübe: 87

Teşekkür

Teşekkürler: 0
0 Mesajina 0 Tesekkür Aldi
Rep
Rep Puanı : 753
Rep Gücü : 26
İtibar :
SAMSUN is a splendid one to beholdSAMSUN is a splendid one to beholdSAMSUN is a splendid one to beholdSAMSUN is a splendid one to beholdSAMSUN is a splendid one to beholdSAMSUN is a splendid one to behold
Timer (Zamanlayıcı)

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.

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

Örnek: Zamanı saniye cinsinden veren program.
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.

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.

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.

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:
Option Explicit
Private OldCaption As String

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

7.Şimdide aşağıdaki kodu zamanlayıcının Timer ()olayına ekleyelim.
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.
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.
SAMSUN is offline SAMSUN isimli üyenin yazdığı bu Mesajı değerlendirin.   Alıntı ile Cevapla
Alt 04-08-2008   #2
Profil
Üye
 
Dj_OK@N - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Nov 2007
Bulunduğu yer: Kayb0LduM..!!
Yaş: 33
Mesajlar: 825
Üye No: 9633

Seviye: 25 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Canlılık: 0 / 620
Çekicilik: 275 / 31768
Tecrübe: 80

Teşekkür

Teşekkürler: 0
0 Mesajina 0 Tesekkür Aldi
Rep
Rep Puanı : 13
Rep Gücü : 18
İtibar :
Dj_OK@N is on a distinguished road
Standart

Paylaşım için teşekkürler
Dj_OK@N is offline Dj_OK@N isimli üyenin yazdığı bu Mesajı değerlendirin.   Alıntı ile Cevapla
Cevapla

Etiketler
timer, zamanlayici


Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 23:09.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.