02-10-12, 08:01 AM
4.استخدام المؤقت
هذه الأداة العجيبة التي تعطي برنامجك الحركة وتقدم له العديد من التسهيلات إن لكل شي حد أن زاد عليه أصبحت هذه الزيادة سلباً ينصح بعدم استخدام الأداة إن أمكن الاستغناء عنها أداة التايمر وخصائصها : الخاصية الأولى Enabled إما مفعلة True أو معطلة False
الخاصية الثانية وهي الفترة الزمنية Interval
معلومة كل 1000 تعادل واحد ثانية أي انك إذا قمت بضبط الفترة الزمنية إلى 1 فهذا يعني فتخيل معي كم مرة سيتم تنفيذ الإجراء بالتالي الأمر مرهق للجهاز المستخدم لذلك عليك الانتباه إلى تشغيل المؤقت في الوقت المطلوب لتنفيذ العملية وإيقافه عندما تكتمل المهمة وعدم الاستمرار في تشغيله من دون فائدة تخيل معي أن المستخدم يريد فحص تغير صندوق نص فإذا ادخل المستخدم اسم معين يقوم البرنامج بتنفيذ حدث معين فنستطيع استخدام المؤقت
في الكود السابق التايمر يعمل منذ بدء تشغيل الفورم ومع ان المستخدم ليس بالضرورة مستعد لادخال الاسم فورا فإن المؤقت يفحص صندوق النص كل لحظة وربما تكون الفترة الزمنية له 1 أو10 وسيظل يفحص طوال فترة عمل البرنامج وهذه استهلاك سلبي. اجعل الفترة 1000 فالاستهلاك أقل .
حالة اقتصادية أكثر في هذه الحالة نريد الفحص الدائم لعنصر معين فيفضل تشغيل التايمر عند تغيير الاسم فقط ثم الفحص ثم الإغلاق كالتالي :
فيما سبق لاحظ اننا عطلنا المؤقت عند إقلاع الفورم من الخصائص (افتراضي)
ولم نقم بتشغيل ولكن ربطنا تشغيله بتغير الاسم فعند كتابة أي حرف في صندوق النص يعمل التايمر ثم يفحص المدخل ويقوم بالمطلوب ثم يغلق بهذا نكون قمنا بتشغيله عند الحاجة اليه فقط أي نوع من الحيلة لا أكثر وبنفس المردود لك مع استهلاك أقل للموارد
هل انتهى الأمر ؟ يمكننا أن نستغني هنا عن المؤقت كليا كالأتي:
إن تغيير اسم المستخد يتطلب تغير النص في الصندوق أي الكتابة فيه فيمكننا مراقبة المدخلات عبر
Text Changed و نحصل على نفس النتيجة السابقة لكن بدون استخدام المؤقت
هذا ما أحببت أن أنوه إليه أننا نستخدم الأداة عند لزومها فقط وفي حالة استخدمناها فبالشكل الأمثل
هذه الأداة العجيبة التي تعطي برنامجك الحركة وتقدم له العديد من التسهيلات إن لكل شي حد أن زاد عليه أصبحت هذه الزيادة سلباً ينصح بعدم استخدام الأداة إن أمكن الاستغناء عنها أداة التايمر وخصائصها : الخاصية الأولى Enabled إما مفعلة True أو معطلة False
كود :
[FONT=Arial]Timer.Enabled = True Or False[/FONT]الخاصية الثانية وهي الفترة الزمنية Interval
كود :
[align=right][FONT=Courier New][FONT=Courier New][FONT=Courier New][FONT=Courier New][FONT=Courier New][FONT=Arial]Timer.Interval = 5000[/FONT][/FONT][/FONT][/FONT][/FONT][/FONT][/align]
[FONT=Courier New]
[/FONT]معلومة كل 1000 تعادل واحد ثانية أي انك إذا قمت بضبط الفترة الزمنية إلى 1 فهذا يعني فتخيل معي كم مرة سيتم تنفيذ الإجراء بالتالي الأمر مرهق للجهاز المستخدم لذلك عليك الانتباه إلى تشغيل المؤقت في الوقت المطلوب لتنفيذ العملية وإيقافه عندما تكتمل المهمة وعدم الاستمرار في تشغيله من دون فائدة تخيل معي أن المستخدم يريد فحص تغير صندوق نص فإذا ادخل المستخدم اسم معين يقوم البرنامج بتنفيذ حدث معين فنستطيع استخدام المؤقت
كود :
[align=right]Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
'Label1.Left = Label1.Left + 1
If TextBox1.Text = "سامر سلو" Then
Timer.Enabled = False
MsgBox("يا مرحباً")
Else
'no
End If
End Sub[/align]حالة اقتصادية أكثر في هذه الحالة نريد الفحص الدائم لعنصر معين فيفضل تشغيل التايمر عند تغيير الاسم فقط ثم الفحص ثم الإغلاق كالتالي :
كود :
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
If TextBox1.Text = "سامر سلو" Then
Timer.Enabled = False
MsgBox("يا مرحباً")
Else
Timer.Enabled = False
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Timer.Enabled = True
End Subولم نقم بتشغيل ولكن ربطنا تشغيله بتغير الاسم فعند كتابة أي حرف في صندوق النص يعمل التايمر ثم يفحص المدخل ويقوم بالمطلوب ثم يغلق بهذا نكون قمنا بتشغيله عند الحاجة اليه فقط أي نوع من الحيلة لا أكثر وبنفس المردود لك مع استهلاك أقل للموارد
هل انتهى الأمر ؟ يمكننا أن نستغني هنا عن المؤقت كليا كالأتي:
كود :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "سامر سلو" Then
MsgBox("يا مرحباً")
Else
'no
End If
End SubText Changed و نحصل على نفس النتيجة السابقة لكن بدون استخدام المؤقت
هذا ما أحببت أن أنوه إليه أننا نستخدم الأداة عند لزومها فقط وفي حالة استخدمناها فبالشكل الأمثل
