تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اغتنم أكوادك
#4
4.استخدام المؤقت



هذه الأداة العجيبة التي تعطي برنامجك الحركة وتقدم له العديد من التسهيلات إن لكل شي حد أن زاد عليه أصبحت هذه الزيادة سلباً ينصح بعدم استخدام الأداة إن أمكن الاستغناء عنها أداة التايمر وخصائصها : الخاصية الأولى 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]
في الكود السابق التايمر يعمل منذ بدء تشغيل الفورم ومع ان المستخدم ليس بالضرورة مستعد لادخال الاسم فورا فإن المؤقت يفحص صندوق النص كل لحظة وربما تكون الفترة الزمنية له 1 أو10 وسيظل يفحص طوال فترة عمل البرنامج وهذه استهلاك سلبي. اجعل الفترة 1000 فالاستهلاك أقل .

حالة اقتصادية أكثر في هذه الحالة نريد الفحص الدائم لعنصر معين فيفضل تشغيل التايمر عند تغيير الاسم فقط ثم الفحص ثم الإغلاق كالتالي :


كود :
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 Sub
إن تغيير اسم المستخد يتطلب تغير النص في الصندوق أي الكتابة فيه فيمكننا مراقبة المدخلات عبر
Text Changed و نحصل على نفس النتيجة السابقة لكن بدون استخدام المؤقت
هذا ما أحببت أن أنوه إليه أننا نستخدم الأداة عند لزومها فقط وفي حالة استخدمناها فبالشكل الأمثل


}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 07:53 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 07:57 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 07:59 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 08:01 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 08:02 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 08:07 AM
اغتنم أكوادك - بواسطة Raggi Tech - 02-10-12, 08:10 AM

التنقل السريع :


يقوم بقرائة الموضوع: