التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كل ما تريد معرفته عن الوقت
#1
مقاله للاخ : حامد الهادى عيد

في هذا الموضوع الخفيف سنتعرض للعديد من المواضيع التي تتعلق بالوقت والتاريخ نتمنى إن شاء الله أن تكون هناك فائدة للجميع .

-------------------------------------

أولاً : عرض الوقت في Label أو غيره بالطريقة القياسية - وكذلك التاريخ :

الأمر بسيط جداً ... كل ما عليك هو وضع Timer وتغيير خاصية Interval = 1000 مثلاً للوقت وأكثر للتاريخ ، ومن ثم كتابة الأمر التالي :


رموز PHP:
Label1.Caption = DateTime


ومن ثم ضع . ستظهر لك قائمة من الطرق هذا تفصيل أهمها :

رموز PHP:
Date : 07/07/2003
Date
$ : 07-07-2003
Now
: 07/07/2003 04:37:21 ص
Time
: 04:38:30 ص
Time
$ : 16:38:46

هناك أيضاً Timer : تعود بعدد الثواني من منتصف الليل وحتى الوقت الحالي ... ويمكن أن تستفيد منها بأكثر من طريقة .
* ملاحظة : في كل ما سبق يمكن كتابته مباشرة دون كتابة DateTime .

ثانياً : عرض جزء من الوقت أو التاريخ ( سنة - شهر - يوم - ساعة - دقيقة - ثانية )

بنفس الطريقة السابقة أو بغيرها من الطرق ولكن يصبح الكود بالشكل التالي ( للثانية مثلاً ) .


رموز PHP:
Text1.Text = Second(Now)


غير المكتوب بالأحمر حسب المطلوب ليصبح ( Minute - Hour - Day - Month - Year ) .
ويمكنك استخراج هذه القمية من قيمة أخرى مرسلة بالشكل التالي على سبيل المثال .

رموز PHP:
Dim A1
A1
= "12/11/1424"
Msgbox Day(A1)


ثالثاً : عرض التاريخ الهجري والميلادي الحاليين :

يتم ذلك بتحويل طريقة التاريخ بالشكل التالي للهجري :


رموز PHP:
VBA.Calendar = vbCalHijri


وللميلادي :


رموز PHP:
VBA.Calendar = vbCalGreg


ومن ثم كتابة أمر التاريخ بصورة طبيعية كما يلي :


رموز PHP:
Text1.Text = DateTime.Date


رابعاً التحويل بين التاريخين الهجري والميلادي :

نكتب هذه الدالة في موديول :

رموز PHP:
Public Function TransDate(thedate As Date, TypeTrans As Integer) As String
Dim TempDate
As String, MD As Date, a As String
If TypeTrans = 1 Then
VBA
.Calendar = vbCalHijri
TempDate
= CStr(thedate)
TransDate = TempDate
VBA
.Calendar = vbCalGreg
Text1
= TransDate
Else
a = CStr(thedate)
VBA.Calendar = vbCalHijri
MD
= CDate(a)
VBA.Calendar = vbCalGreg
TransDate
= CStr(Format(MD, "yyyy/mm/dd"))
txtdateofenglish = TransDate
End
If
End Function

ومن ثم في زر الأمر ( للتحويل من ميلادي إلى هجري )

رموز PHP:
Dim Date1
Date1
= TransDate(Text1, 1)
MsgBox Format(Date1, "DD/MM/YYYY")
وللتحويل من هجري إلى ميلادي :
Dim Date1
Date1
= TransDate(Text1, 2)
MsgBox Format(Date1, "DD/MM/YYYY")

وللتحويل من هجري إلى ميلادي :

رموز PHP:
Dim Date1
Date1
= TransDate(Text1, 2)
MsgBox Format(Date1, "DD/MM/YYYY")

خامساً : معرفة اليوم من الأسبوع .

نضع هذا الأمر في المكان المطلوب :
رموز PHP:
Dim Day_Now As Integer
Day_Now
= Weekday(Date)
If
Day_Now = 1 Then Label1 = "الأحد"
If Day_Now = 2 Then Label1 = "الاثنين"
If Day_Now = 3 Then Label1 = "الثلاثاء"
If Day_Now = 4 Then Label1 = "الأربعاء"
If Day_Now = 5 Then Label1 = "الخميس"
If Day_Now = 6 Then Label1 = "الجمعة"
If Day_Now = 7 Then Label1 = "السبت"

سادساً : عمل ساعة بسيطة بعقارب

(ضع تايمر وغير Intrval = 1000 واجعل وحدة قياس الفورم Pixel ثم اكتب ما يلي .
رموز PHP:
Dim x, y, w, m
Private Sub Form_Load()
y = Me.Height / 2 'تحديد نقطة منتصف الفورم
x = Me.Width / 2 '
تحديد نقطة منصف الفورم
w
= 1700
End Sub

رموز PHP:
Private Sub Timer1_Timer()
Me.Cls 'مسح ما في الفورم
DrawWidth = 4: Me.Circle (x, y), w '
رسم دائرة قطرها 1700 هي قيمة w
DrawWidth
= 4: Me.Line (x, y)-(x + (900 * Sin(Hour(Now) * 3.1415 / 6)), y - (900 * Cos(Hour(Now) * 3.1415 / 6))), &HFFFF00 ' رسم عقرب الساعات
DrawWidth = 3: Me.Line (x, y)-(x + (1200 * Sin(Minute(Now) * 3.1415 / 30)), y - (1200 * Cos(Minute(Now) * 3.1415 / 30))), vbYellow '
رسم عقرب الدقائق
DrawWidth
= 1: Me.Line (x, y)-(x + (1500 * Sin(Second(Now) * 3.1415 / 30)), y - (1500 * Cos(Second(Now) * 3.1415 / 30))), vbRed رسم عقرب الثواني
End Sub

سابعاً : معرفة الوقت المنقضي على تشغيل الجهاز :

نكتب في موديول ما يلي :
رموز PHP:
Declare Function GetTickCount Lib "kernel32" () As Long

ومن ثم نكتب في زر الأمر :
رموز PHP:
Dim Minutes As Long
Dim Hours
As Long
Dim My_Time
As Long
My_Time
= GetTickCount
Hours
= ((lngCount / 1000) / 60) / 60
Minutes
= ((lngCount / 1000) / 60) Mod 60
MsgBox Hours
& ":" & Minutes

ثامناً : أداة Calendar .

لاضافتها قم بالضغط على Ctrl + T ومن ثم اختيار Microsoft Calendar Control 10.0 أو أي اصدار آخر .
ومن ثم قم برسمها على الفورم ، وستجد بها العديد من الخيارات وأهمها ( هذه الخيارات أغلبها في Custem ) .
* Value : لتحديد التاريخ المطلوب ومنه يمكن ضبطها بوضع الأمر التالي :


رموز PHP:
Calendar1.Value = DateTime.Calendar


* First Day : لتحديد اليوم الأول من الأسبوع .
* Day Length - Month Length : لتحديد طريقة عرض اليوم والشهر .
* Grid Call Efect : لاختيار طريقة من ثلاث طرق للعرض باختلاف التحديد .
ستجد أيضاً العديد من الخيارات لاظهارها واخفائها تحت بند Show .
ومن ثم في Font ستجد ثلاثة أنواع : خط ( اليوم من الأسبوع - الأرقام الخاصة بأيام الشهر - العنوان ) .
وفي Color ستجد لون ( الخلفية - اليوم من الأسبوع - الأيام من الشهر - شيء ما لا أعرفه - العنوان ) .
أما عن الأوامر التي يمكن استخدامها فمنها:
NextDay - NextMonth - NextWeek - NextYear ( اليوم - الأسبوع - الشهر - السنة ) التالية .
وعكسها : PreviousDay - PreviousMonth - PreviousWeek - PreviousYear

تاسعا : عمل مؤقت ليدق جرس عند مدة معينة :

الامر ليس صعباً ، فكل ما في الأمر هو وضع Timer واختبار الوقت بالشكل التالي :

رموز PHP:
If Text1.Text = DateTime.Time Then Ring



حيث أن Text1 تحتوي على الوقت المطلوب ، و Ring هو حدث ليدق جرس أو لتظهر رسالة .

عاشراً : تغيير وقت الكومبيوتر :

اكتب الوقت الذي تريده في Text1 مثلاً ثم اكتب الأمر التالي فقط :

رموز PHP:
DateTime.Time = text1.Text



الحادي عشر : عمل ستوب ووتش :

الأمر بسيط جداً ... ضع أربع مربعات نص Text1,Text2,Text3,Text4 ثم ضع الأمر التالي في Timer بعد ضبط خاصية Intrval = 100 :

رموز PHP:
Text4 = Text4 + 1
If Text4 = 9 Then
Text3
= Text3 + 1
Text4
= 0
End
If
If
Text3 = 59 Then
Text2
= Text2 + 1
Text3
= 0
End
If
If
Text2 = 59 Then
Text1
= Text1 + 1
Text2
= 0
End
If

وفي زر Stop اكتب :


رموز PHP:
Timer1.Enabled = False


وفي زر 00:00 اكتب :


رموز PHP:
Text1.Text = 0 : Text2.Text = 0 : Text3.Text = 0 : Text4.Text = 0

* تذكر أنك تستطيع أن تكتب أكثر من سطر في نفس السطر عن طريق تفريق الأسطر بواسطة نقطتين فوق بعضها : .

الثاني عشر : عمل عداد تنازلي:

اكتب في Genral
Dim My_Time
وضع Timer وغير interval إلى 1000 وخاصية Enabled = False .
ضع Text1 للثواني Text2 للدقائق Text3 للساعات ، وفي زر الأمر ضع الامر التالي :

رموز PHP:
My_Time = Text1 + ( Text2 * 60 ) + ( Text3 * 60 *60 )
Timer1.Enabled = True

وفي التايمر ضع الأمر التالي :
رموز PHP:
My_Time = My_Time - 1
If My Time <= 0 Then
Timer1
.Enabled = False
Ring
End
If

حيث Ring
حدث تقوم أنت بوضعه حسبما تريد .
وعند زر Stop اكتب :


رموز PHP:
Timer1.Enabled = False


الثالث عشر : اضافة يوم - شهر - تاريخ ( إلى تاريخ معين ) - وكذلك الوقت .

نستخدم في ذلك الدالة DateValue ويمكننا أن نكتب قبلها DateTime. أولا لا كما نريد ... ومثال لاضافة يوم .


رموز PHP:
MsgBox DateTime.DateValue(Now + 2)


الرابع عشر : جمع التواريخ وطرحها واضافة أيام وشهور إليها :

الصيغة العامة لأمر اضافة أيام هي ما يلي :


رموز PHP:
Text1.Text = DateAdd ( "اضافة إلى","العدد","اضافة")


اضافة ( إما D للايام أو M للشهور أو YYY للأيام
فمثلاً لاضافة يومين إلى التاريخ الحالي :


رموز PHP:
Text1.Text = DateAdd ("D",2,Now)


وهكذا ...
أما لطرح تاريخين فمثلاً نكتب الأمر التالي


رموز PHP:
Msgbox DateDiff("M","12/11/2001","11/08/2003)

رموز PHP:
[font=Tahoma][color=darkgreen][/color][/font]

حيث M ليخرج الناتج بالشهور كما سبق

الخامس عشر : معرفة الشهر من السنة :

نستخدم الدالة MonthName بالشكل التالي


رموز PHP:
Msgbox MonthName(4)


وسيكون الناتج حسب النظام المعتمد من Vba

----------------------------------
هذه المقالة منقولة ولكننى لا اتذكر من أين
اللهم اجزى كاتب هذا المقال خيرا
واجزنا خيرا يارب العالمين
الرد }}}
تم الشكر بواسطة: المبرمج الطـــموح , Ksa004


الردود في هذا الموضوع
كل ما تريد معرفته عن الوقت - بواسطة a_senan - 20-09-12, 02:18 AM
RE: كل ما تريد معرفته عن الوقت - بواسطة ro3h - 06-05-15, 03:53 PM
كل ما تريد معرفته عن الوقت - بواسطة pico - 03-11-12, 03:56 AM


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم