دوال التعامل مع التاريخ
سنتحدث في هذا الدرس عن أهم الدوال للتعامل مع التاريخ والوقت في الفيجوال بيسك
أولا : نوع بيانات التاريخ
حيث يخزن التاريخ داخل الحاسب على هيئة 8 – byte حيث يخزن كرقم ذات فاصلة عشرية عائمة Floating حيث يعرض التاريخ من المدى 1 يناير سنة 100 إلى 31 ديسمبر 9999 ومدى الوقت يكون من 0:00.00 إلى 23:59:59 حيث يتم وضع التاريخ بين العلامتين # # والتاريخ الافتراضي المخزن بالجهاز هو التاريخ ذات الصيغة القصيرة كذلك الوقت يعرض بالصيغة القصيرة حسب نظام 12 ساعة أو 24 ساعة
عندما يتم تحويل أي أرقام إلى تاريخ فإن القيم العشرية على يمين الفاصلة العشرية تعطي التاريخ والأرقام على يسار الفاصلة العشرية تعطي الوقت
ثانيا دوال التاريخ
1 – دالة إرجاع التاريخ الحالي Date
وتستخدم لعرض التاريخ الحالي المخزن في نظام التشغيل وهو الشكل القصير dd/mm/yyyy
الشكل العام للدالة
Date ()
مثال
اضغط على زر عرض واكتب الجملة التالية
Text1 = date
2 – جملة التاريخ date
حيث تستخدم لضبط تاريخ الجهاز إلى تاريخ معين محدد
الشكل العام للجملة
Date = date
مثال
اكتب الكود التالي في زر عرض
Dim mydate mydate = #12/10/1995# Date = mydate Text1 = Date
3 – دالة إرجاع الوقت الحالي time
وتستخدم لعرض الوقت الحالي المخزن في نظام التشغيل وهو الشكل القصير HH:MM:SS
الشكل العام للدالة
time ()
مثال
اضغط على زر عرض واكتب الجملة التالية
Text3 = date
4 – جملة التوقيت Timer
حيث تستخدم لإرجاع قيمة الثواني للوقت الحالي ويمكن استخدامها كعداد
الشكل العام للجملة
timer
مثال
حيث يعرض المثال التالي نموذج لإيقاف التطبيق لمدة خمس ثواني مع السماح بالعمل على التطبيقات الأخرى باستخدام جملة Doevents
اضغط زر عداد مرتين واكتب الكود التالي :
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Press Yes to pause for 5 seconds", 4)) = vbYes Then
PauseTime = 5
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
TotalTime = Finish - Start
MsgBox "Paused for " & TotalTime & " seconds"
Else
End
End If5 – دالة الوقت والتاريخ Now
لعرض الوقت والتاريخ الحاليين
الشكل العام للجملة
Now
مثال
أضف السطر التالي للكود في زر عرض
Text2 = now
العمليات على التاريخ
1 – دالة الإضافة إلى تاريخ dateadd
حيث تستخدم لإضافة أو طرح قيمة محددة إلى تاريخ محدد
الشكل العام للدالة
DateAdd(interval, number, date)
شرح بارامترات الجملة
1 – interval : وهي القيمة المراد إضافتها إلى التاريخ المعطي ولها عدة إشكال مشروحة في الجدول التالي :
2 – البارامتر Number
وهو بارامتر العدد المطلوب إضافته ويمكن إن يكون موجب فيضيف إلى التاريخ أو سالب فيطرح من التاريخ .
3 – البارامتر date
وهو التاريخ المراد الإضافة أو الحذف منه
مثال عملي
اضغط على زر إضافة إلى التاريخ ثم اكتب الكود التالي :
Dim FirstDate As Date ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m" ' "m" الأشهر
FirstDate = InputBox("Enter a date") 'ادخل أي تاريخ
Number = InputBox("Enter number of months to add") 'اضف القيمة بالموجب أو بالسالب
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
Text1 = Msg2 – الدالة datediff
وهي دالة تعطي الفرق بين تاريخين محددين وتعود بقيمة صحيحة طويلة
الشكل العام للجملة
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
شرح بارامترات الجملة
1 – البارامتر Interval
1 – interval : وهي القيمة المراد عرضها كناتج الطرح ولها عدة إشكال مشروحة في الجدول السابق
2 – 1date التاريخ الأول
3 – 2date التاريخ الثاني
4 – البارامتر firstdayofweek وهو اختياري وهو لتحديد يوم البدء للأسبوع مثل المسلمين بداية الأسبوع لهم السبت .... وهكذا وله القيم التالية
5 – البارامتر firstweekofyear وهو اختياري وهو لتحديد الأسبوع الأول في العام وهو غير مهم بالنسبة لاستخدامات الدالة
مثال عملي
اضغط على طرح تاريخين مرتين واكتب الكود التالي والذي يطرح التاريخ المعطى من التاريخ الحالي ويعطي الناتج بالأيام
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
Text1 = Msg3 – دالة Dtaepart
وتستخدم لإرجاع قيمة صحيحة من تاريخ محدد
الشكل العام للدالة
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
وقد تم شرح البارامترات في الدوال السابقة
مثال علمي
اضغط على زر إرجاع قيمة من تاريخ واكتب الكود التالي لإرجاع رقم الربع من التاريخ المعطى
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date:")
Msg = "Quarter: " & DatePart("q", TheDate)
Text1 = Msg4 – دالة Datevalue
وتستخدم لإرجاع التاريخ من القيمة المعطاة حيث تكون القيمة المعطاة قيمة نصية ( لا أعني أنها حروف ولكن أرقام تقرأ على أنها نص كما تأتي الأرقام من مربع نص في الحقيقة نص وليست رقم )
الشكل العام للدالة
DateValue(date)
حيث date هو التاريخ حيث يمكن إدخال التاريخ كل قيمة نصية بينها فاصلة
مثال عملي
اضغط على زر
Dim MyDate As Date
MyDate = DateValue("8,2005") ' Return a date.
Text1 = MyDate5 – دالة dateserial
وهي دالة تعود بالتاريخ من قيم معطاة لليوم والشهر والسنة
الشكل العام للدالة
DateSerial(year, month, day)
شرح بارامترات الدالة
1 – year وهي السنة المعطاة وهو رقم يمكن أن يكون بين 100 إلى 9999
2 – month وهو الشهر المعطى وهو أي رقم صحيح
3 – day اليوم المعطى وهو أي رقم صحيح أيضا
يمكنك إجراء عمليات حسابية على الأرقام المدخلة مثل طرح 10 سنوات من العام المعطى وهكذا وكذلك يمكنك استخدام مربعات النصوص لوضع تاريخ محدد أو لإعطاء القيم
مثال عملي
اضغط على زر datesrial واكتب الكود التالي
Dim MyDate MyDate = DateSerial(1969 - 10, 2, 12) Text1 = MyDate
6 – دالة timevalue
وتستخدم لإرجاع الوقت ( قيمة تعبر عن وقت ) من القيمة المعطاة حيث تكون القيمة المعطاة قيمة نصية
الشكل العام للدالة
TimeValue(time)
حيث time هو الوقت المعطى حيث يمكن إدخال الوقت كقيمة نصية بينها نقطتين ويجب الإلتزام بحجم كل قيمة بمعنى عدد الساعات لا يزيد عن 24 ساعة ( المجموع الكلي للوقت ) وكذلك عدد الدقائق لا تزيد عن 60 وكذلك عدد الثواني
مثال عملي
اضغط على زر timvalue
Dim MyTime
MyTime = TimeValue("20:62:20 PM")
Text3 = MyTime7 – دالة timeserial
وهي دالة تعود بالوقت من قيم معطاة للساعات والدقائق والثواني
الشكل العام للدالة
TimeSerial(hour, minute, second)
شرح بارامترات الدالة
1 – hour وهي الساعات المعطاة وهو رقم يمكن أن يكون بين 0 إلى 23
2 – minute وهو الشهر المعطى وهو أي رقم صحيح
3 – second اليوم المعطى وهو أي رقم صحيح أيضا
يمكنك إجراء عمليات حسابية على الأرقام المدخلة مثل طرح 10 ساعات من الساعات المعطاة وهكذا وكذلك يمكنك استخدام مربعات النصوص لوضع وقت محدد أو لإعطاء القيم وهي .
مثال عملي
اضغط على زر timeserial واكتب الكود التالي
Dim MyDate MyDate = DateSerial(1969 - 10, 2, 12) Text1 = MyDate
هذه معظم الدوال التي تتعامل مع التاريخ أرجو أن تكونوا استفدتم منها
لكم تحياتي
أخوكم ناصر



