Protection by law
محمد حلمي أحمد المحامي ببـــنها *** 0106342422 Muhamedhelmyahmed@gmail.com
Protection by law
محمد حلمي أحمد المحامي ببـــنها *** 0106342422 Muhamedhelmyahmed@gmail.com
Protection by law
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

Protection by law

 
الرئيسيةالرئيسية  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  


                      Coming                          >< جوال /+962797816013 / مستشارك القانوني والعقاري بمصر و الأن في الاردن And now in Jordan Mobile / +962797816013 ...   Legal advisor and real estate offices of honor to a group of legal and real estate companies in partnership together on this site for outstanding service and legal real estate investment for all of the investors Egyptians, Arabs and foreigners....>>>>>>>> Every day new.  <<<<<<<

/font>

 

 للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
Admin


عدد المساهمات : 577
تاريخ التسجيل : 30/08/2009
الموقع : MR* MOHAMED

للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة Empty
مُساهمةموضوع: للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة   للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة Emptyالأربعاء ديسمبر 30, 2009 8:26 pm

ي مجموعة من الدروس والمقالات التي كانت موجودة منذ مدة في المنتديات ولكنها ضاعت مع ضياع قاعدة البيانات ، هذه واحدة منها :
اعداد : فتى فيجوال .
بسم الله الرحمن الرحيم .

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

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

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

Label1.Caption = DateTime

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

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 .

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

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

Text1.Text = Second(Now)

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

Dim A1
A1 = "12/11/1424"
Msgbox Day(A1)

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

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

VBA.Calendar = vbCalHijri

وللميلادي :
رمز:

VBA.Calendar = vbCalGreg

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

Text1.Text = DateTime.Date

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

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

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
ومن ثم في زر الأمر ( للتحويل من ميلادي إلى هجري )
Dim Date1
Date1 = TransDate(Text1, 1)
MsgBox Format(Date1, "DD/MM/YYYY")
وللتحويل من هجري إلى ميلادي :
Dim Date1
Date1 = TransDate(Text1, 2)
MsgBox Format(Date1, "DD/MM/YYYY")

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

نضع هذا الأمر في المكان المطلوب :
رمز:

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 ثم اكتب ما يلي .
رمز:

Dim x, y, w, m
Private Sub Form_Load()
y = Me.Height / 2 'تحديد نقطة منتصف الفورم
x = Me.Width / 2 'تحديد نقطة منصف الفورم
w = 1700
End Sub
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

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

نكتب في موديول ما يلي :
رمز:

Declare Function GetTickCount Lib "kernel32" () As Long

ومن ثم نكتب في زر الأمر :
رمز:

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 : لتحديد التاريخ المطلوب ومنه يمكن ضبطها بوضع الأمر التالي :
رمز:

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 واختبار الوقت بالشكل التالي :
If Text1.Text = DateTime.Time Then Ring
حيث أن Text1 تحتوي على الوقت المطلوب ، و Ring هو حدث ليدق جرس أو لتظهر رسالة .

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

اكتب الوقت الذي تريده في Text1 مثلاً ثم اكتب الأمر التالي فقط :
DateTime.Time = text1.Text

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

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

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 اكتب :
رمز:

Timer1.Enabled = False

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

Text1.Text = 0 : Text2.Text = 0 : Text3.Text = 0 : Text4.Text = 0

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

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

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

My_Time = Text1 + ( Text2 * 60 ) + ( Text3 * 60 *60 )
Timer1.Enabled = True

وفي التايمر ضع الأمر التالي :
رمز:

My_Time = My_Time - 1
If My Time <= 0 Then
Timer1.Enabled = False
Ring
End If

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

Timer1.Enabled = False

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

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

MsgBox DateTime.DateValue(Now + 2)

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

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

Text1.Text = DateAdd ( "اضافة إلى","العدد","اضافة")

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

Text1.Text = DateAdd ("D",2,Now)

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

Msgbox DateDiff("M","12/11/2001","11/08/2003)

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

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

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

Msgbox MonthName(4)

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

السادس عشر : أخرى :

الملف المرفق يحتوي على مجموعة من الأدوات والملفات والمشاريع المتعلقة بهذا الموضوع والتي حملتها من هذا المنتدى وغيره مع شكر خاص لاصحابها .
* طريقة استخراج اليوم - الشهر - السنة من التاريخ .
* عمل عداد عن طريق عمل مقارنة مع ساعة الويندوز .
* أداة لعمل ستوب ووتش .
* طريقة أخرى لعمل ساعة بعقارب .
وأجدد شكري لاصحابها مرة أخرى .

وأخيراً : فهذا الشرح قد لا يخلو من أخطاء أتمنى ممن يكتشف خطأ أو نقصاً أن يبنيه .

والسلام عليكم ورحمة الله وبركاته .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://mohamedhelmyahmed.hooxs.com
 
للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
Protection by law :: Muhamedhelmyahmed@gmail.com -- TEL -- 01006342422 :: .arabia-tamdeen@hotmail.com -- TEL -- 01006342422 :: .-
انتقل الى: