lolo
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



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

 

 فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ )

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
عبدالرحمن طعمة
عضو جديد
عضو جديد
عبدالرحمن طعمة


ذكر
عدد الرسائل : 39
العمر : 37
التخصص : A I S
النـشــــاط :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Left_bar_bleue15 / 10015 / 100فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Right_bar_bleue

الأوســــمة : لا يوجد
تاريخ التسجيل : 11/10/2007

فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Empty
مُساهمةموضوع: فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ )   فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Icon_minitimeالخميس أكتوبر 11, 2007 9:00 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")

خامساً : معرفة اليوم من الأسبوع .
هنا سوف نعتمد على دالة Weekday ، وبدلاً من كتابة الشروط السبعة التالية كلما احتجنا لمعرفة اليوم ، من المفضل كتابتها في دالة تعود باسم اليوم .
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 = "السبت"

سادساً : عمل ساعة بسيطة بعقارب
يعتمد مبدأ رسم الساعة بعقارب على مجموعة من المعادلات الرياضية التي تحدد قيم Sin و Cos وغيرها من الدوال المثلثية لحساب زاوية رسم العقرب ، وفيما يلي مثال على ذلك :
ضع تايمر وغير 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
سابعاً : معرفة الوقت المنقضي على تشغيل الجهاز :
يعتمد هذا الأمر على دالة API اسمها GetTickCount ، ولذلك نعرف استخدام هذا التابع API في موديول Module كما يلي :
Declare Function GetTickCount Lib "kernel32" () As Long

ومن ثم نقرأ قيمة API ، فمثلاً نكتب في زر الأمر :

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

وفي زر 00:00 اكتب :
Text1.Text = 0 : Text2.Text = 0 : Text3.Text = 0 : Text4.Text = 0
* تذكر أنك تستطيع أن تكتب أكثر من سطر في نفس السطر عن طريق تفريق الأسطر بواسطة نقطتين فوق بعضها : .
الثاني عشر : عمل عداد تنازلي :
اكتب في Genral ، أو في Module ، أو قم بأي طريقة بتعريف متغير عام ، أو حتى قم بتداول المتغير بين الاجراءات والدوال .

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://lolo007.ahlamontada.com
خليل العملة
مشرف عام
مشرف عام
خليل العملة


ذكر
عدد الرسائل : 4126
العمر : 36
التخصص : M.I.S
المـــــزاج : فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 130ab23.009
هوايــــتي : فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Painti10
النـشــــاط :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Left_bar_bleue72 / 10072 / 100فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Right_bar_bleue

حالة الدردشة : فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Online10
الفــــريـق :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Sms_tmk

الأوســــمة :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Cup10
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 15751610فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 15751611

تاريخ التسجيل : 07/10/2007

فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Empty
مُساهمةموضوع: رد: فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ )   فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Icon_minitimeالثلاثاء مارس 04, 2008 4:22 pm

شكرا اكتير الك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://lolo007.ahlamontada.com
~žô§ž(AbuKishik
.
.
~žô§ž(AbuKishik


ذكر
عدد الرسائل : 9041
العمر : 37
التخصص : A.I.S
المـــــزاج : فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Msh10
هوايــــتي : فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Travel10
النـشــــاط :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Left_bar_bleue89 / 10089 / 100فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Right_bar_bleue

الفــــريـق :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 16011511
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Sms_tmk

الأوســــمة :
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 15751610فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) 15751611


[table style=\"BORDER-RIGHT: #000000 1px dashed; BORDER-TOP: #000000 1px dashed; BORDER-LEFT: #000000 1px dashed; BORDER-BOTTOM: #000000 1px dashed\" width=\"10%\" border=0][tr][td]

[center]فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Ya-all10
[/td][/tr][/table][/center]
تاريخ التسجيل : 30/10/2007

فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Empty
مُساهمةموضوع: رد: فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ )   فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ ) Icon_minitimeالإثنين أبريل 28, 2008 6:35 am

يعطيك الف عافية ....

يسلم ايديك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
فيجوال بيسك(كل امورتتعلق بالوقت والتاريخ )
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

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