منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تحديد زمن تنفيذ العمليات باستخدام الفئة TimeSpan
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : محمد الناشـري

تتسم الفئة TimeSpan ( وهي تمثل فترة زمنية فاصلة ) بامكانية جيدة تجعلها من الفئات المثلى لتحديد زمن تنفيذ العمليات بدقة .
المقصود بزمن تنفيذ العمليات هو الزمن الذي تستغرقة عباره معينة لتنفيذ عملية ما ...
ولتحديد زمن تنفيذ أي عملية علينا أن نقوم بقياس الوقت الملائم قبل البدء في تنفيذ هذة العملية وبعد تنفيذها مباشرة .. ثم نقوم بحساب الفارق وهو عبارة عن الوقت الذي استغرقة تنفيذ العملية .
الكود التالي يوضح زمن تنفيذ الحلقة الدورانية For لقيمة I والتي يحددها المستخدم

كود :
[COLOR=#000000][COLOR=#dd0000]'تعريف متغيرين من نوع Date
Dim Tstart, Tend As Date
'[/COLOR][COLOR=#0000bb]TimeSpan  تعريف متغير من فئة
Dim duration [/COLOR][color=#007700]As [/color][COLOR=#0000bb]TimeSpan
Tstart [/COLOR][color=#007700]= [/color][color=#0000bb]Now[/color][color=#007700]() [/color][COLOR=#dd0000]'وقت البدء في تنفيذ العملية  

If input_txt.Text <> "" Then
startTime_txt.Text = Tstart.Minute & ":" & Tstart.Second & ":" & Tstart.Millisecond
'[/COLOR][COLOR=#0000bb]العملية المنفذة
Dim i [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Integer
[/COLOR][color=#007700]For [/color][color=#0000bb]i [/color][color=#007700]= [/color][color=#0000bb]1 To Val[/color][color=#007700]([/color][color=#0000bb]input_txt[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
  [/COLOR][color=#0000bb]value_txt[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#0000bb]i
  i [/COLOR][color=#007700]+= [/color][COLOR=#0000bb]0.25
Next
Tend [/COLOR][color=#007700]= [/color][color=#0000bb]Now[/color][color=#007700]() [/color][COLOR=#dd0000]'وقت الانتهاء من تنفيذ العملية  
endTime_txt.Text = Tend.Minute & ":" & Tend.Second & ":" & Tend.Millisecond
'[/COLOR][COLOR=#0000bb]ايجاد الفرق بين قيمتي الوقت لتحديد زمن تنفيذ العملية  
duration [/COLOR][color=#007700]= [/color][color=#0000bb]Tend[/color][color=#007700].[/color][color=#0000bb]Subtract[/color][color=#007700]([/color][color=#0000bb]Tstart[/color][COLOR=#007700])
[/COLOR][color=#0000bb]millisecond_txt[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]duration[/color][color=#007700].[/color][COLOR=#0000bb]TotalMilliseconds
second_txt[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]duration[/color][color=#007700].[/color][COLOR=#0000bb]TotalSeconds
Button3[/COLOR][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]False
[/COLOR][COLOR=#007700]Else
[/COLOR][color=#0000bb]MsgBox[/color][color=#007700]([/color][color=#dd0000]"  فضلا ادخل قيمة I  "[/color][COLOR=#007700])
[/COLOR][color=#0000bb]input_txt[/color][color=#007700].[/color][color=#0000bb]Focus[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]If  
[/COLOR][/COLOR]

مارايكم بهذة الطريقة ؟ وهل الزمن المحدد قريب من الصحيح ؟ هل هناك طريقة أفضل في تحديد الزمن المستغرق من قبل عملية ؟ الباب مفتوح للنقاش