دروس دورة برنامج الفجوال بيسك 6 من إعداد الأستاذ خليل إبراهيم عبد الله

درس تشغيل الموقت Timer

أولا : مشروع نريد تنفيذ شفرة (كود) يرحب بك عند تشغيل الزر ( عند الضغط على الزر ) بعد 3 ثواني مثلا و يكتب الترحيب في label1

قم بفتح مشروع جديد و أدرج فيه الأدوات التالية Command1-label1-timer1  مثل التالي:

 

أولا يجب أن تعرف أن لتشغيل timer1  توجد خاصيتين مهمتين فيه و هما Enabled  و هي التي تشغل التايمر و أيضا خاصية Interval و هي المسؤولة عن الوقت و كل 1000 هي عبارة عن ثانية أي 3000 معناها 3 ثواني  .

قم بتنشيط التايمر و قم بتغيير خصائصه إلى التالي :

حيث أننا قمنا بتغيير خاصية Enabled   إلى False لأننا لا نريد أن يعمل التايمر من بداية تشغيل البرنامج.و أيضا قم بتغيير خاصية Interval إلى 3000 لأننا نريد أن يظهر الترحيب بعد 3 ثواني .و بهذا فلن يشتغل التايمر مع بداية البرنامج و سيعمل بعد ثلاث ثواني .

ملاحظة :

نستطيع الاستغناء التغيير اليدوي للخاصيتين و كتابة الشفرة التالية بدلها في حدث Load   للنموذج Form1

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 3000
End Sub

 

الآن  نختار Command1 و نضغط عليه ضغطا مزدوج ثم نكتب فيه الشفرة التالية التي تشغل التايمر و بعد ثلاث ثواني سيظهر الترحيب:

 

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

الآن بقت الشفرة الخاصة بالتايمر التي تفيد أن يكتب label1 الترحيب و يلغي عمل التايمر . قم باختيار التايمر و ثم اضغط عليه ضغطا مزدوجا لتنفتح لك صفحة الشفرة (الكود)

 

Private Sub Timer1_Timer()
Label1.Caption = "أهلا و سهلا بكم"
Timer1.Enabled = False
End Sub

السطر الأول يكتب رسالة أهلا و سهلا بكم في الليبل1 ، و السطر الثاني يقوم بإيقاف عمل التايمر لكي لا يعمل بشكل مستمر كل ثلاث ثواني .

ملاحظة :

و نستطيع كتابته بطريقة أخرى و هي التالي :

Private Sub Timer1_Timer()
Label1= "أهلا و سهلا بكم"
Timer1.Enabled = False
End Sub

قم بتشغيل البرنامج و تجربته

 

ثانياً : مشروع عمل عداد للوقت تصاعدي

وصف العمل لنفترض أن لديك برنامج تعليمي و تريد أن تحدد زمن الإجابة بزمن 15 ثانية و بعده ينتهي الوقت فكيف يتم ذلك ؟

ما دام البرنامج فيه وقت فنحتاج إلى أداة Timer1 قم بإدراجها . و نحتاج إلى Label1 لكتابة الزمن بداخله . و سنحتاج إلى Command1 لتشغيل التايمر بالضغط عليه و بدل ما يلزم للتالي .

قم بتنشيط التايمر و قم بتغيير خصائصه إلى التالي :

حيث أننا قمنا بتغيير خاصية Enabled   إلى False لأننا لا نريد أن يعمل التايمر من بداية تشغيل البرنامج.و أيضا قم بتغيير خاصية Interval إلى 1000 لأننا نريد أن يظهر الرقم بداخل Label1 كل ثانية  .

ملاحظة :

نستطيع الاستغناء التغيير اليدوي للخاصيتين و كتابة الشفرة التالية بدلها في حدث Load   للنموذج Form1

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
End Sub

 

الآن  نختار Command1 و نضغط عليه ضغطا مزدوج ثم نكتب فيه الشفرة التالية التي تشغل التايمر و بعد ثلاث ثواني سيظهر الترحيب:

 

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

الآن بقت الشفرة الخاصة بالتايمر التي تفيد أن يكتب label1 الأرقام من( 0 ) إلى ( 15 ) حيث يضيف كل ثانية واحد على الرقم السابق و يلغي عمل التايمر في حال وصل إلى 15 ثانية و يعطي مسج بانتهاء الوقت . قم باختيار التايمر و ثم اضغط عليه ضغطا مزدوجا لتنفتح لك صفحة الشفرة (الكود)

 

Private Sub Timer1_Timer()

Label1.Caption = Val(Label1.Caption) + 1
If Val(Label1.Caption) = 15 Then
Timer1.Enabled = False
MsgBox ("انتهى الوقت")
End If


End Sub

Label1.Caption = Val(Label1.Caption) + 1

هذا السطر يقوم بزيادة 1 بعد كل ثانية فهو يأخذ ما بداخل الليبل و يضيف على 1 و تفيد Val بتحويل ما بداخل Label إلى رقم و ثم يتم إضافة 1 .

If Val(Label1.Caption) = 15 Then

 السطر الثاني شرط بأداة If و معناها إذا يقوم باكتشاف ما بداخل Label1 و ثم تحويله إلى رقم  و إذا ساوى 15 يقوم وينفذ الشرط الذي بالسطر الثالث

Timer1.Enabled = False

هذا السطر يقوم بإلغاء عمل التايمر أي لا ينفذ الشفرة بعد ثانية .

MsgBox ("انتهى الوقت")

هذا السطر يقوم بعرض مسج يكتب بها انتهى الوقت

End If

هذا السطر لإنهاء جملة الشرط

قم بتشغيل البرنامج و الضغط على الزر و سيعمل البرنامج و كل ثانية سيزيد الرقم إلى أن يصل إلى 15 فسيتوقف العد مثل التالي:

 

حقوق الطبع محفوظة لجزيرة الرياضيات@2006