السلام عليكم
أريد إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر ولكن بدل المصباح استخدمت shape
لكنني واجهتني مشاكل
فممكن كود هذا المشروع
شكل الفكره في المرفقات
من أبرز المشاكل التي تواجهني
1- عندا إختياري وقت والساعه الأن قد تخطت هذا الوقت ولم تتخطى وقت الإطفاء فالمفروض المصباح يضيء
أرفق البرنامج للتعديل عليه
البرنامج في المرفقات للتعديل
مع الشكر الجزيل
السلام عليكم
- إستبدل كود الـTimer2 بهذا الكود :
كود :
Dim Now_Time As String
Dim First_Time As String
Dim Second_Time As String
Now_Time = Format$(Now, "hh:mm:ss")
First_Time = Format$(Text1.Text, "hh:mm:ss")
Second_Time = Format$(Text2.Text, "hh:mm:ss")
If Now_Time > First_Time Then
Shape1.BackColor = &HFFFFFF
End If
If Now_Time >= Second_Time Then
Shape1.BackColor = &HFF&
Timer2.Enabled = False
Exit Sub
End If
- تحياتي .
(24-12-13, 11:10 PM)VB_Coder كتب : [ -> ]السلام عليكم
- إستبدل كود الـTimer2 بهذا الكود :
كود :
Dim Now_Time As String
Dim First_Time As String
Dim Second_Time As String
Now_Time = Format$(Now, "hh:mm:ss")
First_Time = Format$(Text1.Text, "hh:mm:ss")
Second_Time = Format$(Text2.Text, "hh:mm:ss")
If Now_Time > First_Time Then
Shape1.BackColor = &HFFFFFF
End If
If Now_Time >= Second_Time Then
Shape1.BackColor = &HFF&
Timer2.Enabled = False
Exit Sub
End If
- تحياتي .
مشكووور أخي على المساعدة ولكن البرنامج لم يكتمل فيه أخطاء
البرنامج يعمل في حال كان تشغيل والإيقاف في فترة AM أو في فترة PM أما اذا كان التشغيل في فترة pm والإيقاف am فالبرنامج عندها لا يعمل
أما إذا كان التشغيل عند الساعة 22:00:00 ,والإيقاف عند 05:00:00 والوقت الحالي 20:00:00 عندها البرنامج لا يعمل
مره أخرى مشكوور على المساعدة
كود :
Private Sub Timer2_Timer()
Dim Now_Time As String
Dim First_Time As String
Dim Second_Time As String
Now_Time = Format$(Now, "hh:mm:ss")
First_Time = Format$(Text1.Text, "hh:mm:ss")
Second_Time = Format$(Text2.Text, "hh:mm:ss")
If Format(Text1.Text, "Am/Pm") = Format(Now, "Am/Pm") Then
If Now_Time > First_Time Then
Shape1.BackColor = &HFF& '&HFFFFFF
End If
End If
If Format(Text1.Text, "Am/Pm") <> Format(Now, "Am/Pm") Then
If Now_Time < First_Time Then
Shape1.BackColor = &HFFFFFF
End If
End If
If Format(Text2.Text, "Am/Pm") = Format(Now, "Am/Pm") Then
If Now_Time >= Second_Time Then
Shape1.BackColor = &HFFFFFF
'Timer2.Enabled = False
'Exit Sub
End If
If Format(Text2.Text, "Am/Pm") <> Format(Now, "Am/Pm") Then
If Now_Time <= Second_Time Then
Shape1.BackColor = &HFFFFFF
'Timer2.Enabled = False
'Exit Sub
End If
End If
End If
End Sub
الفكره هكذا وايضا بحاجة الى تعديل
(25-12-13, 03:43 AM)asto كتب : [ -> ]استعمل الكود التالي :
كود :
Text3.Text = Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
If Text3.Text = Text1.Text Then
نفذ
End If
If Text3.Text = Text2.Text Then
نفذ
End If
هذا الكود يعمل اذا كان البرنامج مفتوح وساعة الكمبيوتر لم تصل للوقت المحدد للتشغيل.
اما اذا كانت ساعة الكمبيوتر قد تخطت وقت التشغيل بثانية وقمت بتشغيل البرنامج عندها لا يعمل
اصبح عليك تحويل الوقت الى ثواني
و بالتالي
كود :
h= hour(now)
m= minute(now)
s=second (now)
d=h*3600+m**60+s
ha= Split(Text1, ":")(0)
ma = Split(Text1, ":")(1)
sa= Split(Text1, ":")(2)
da=ha*3600+ma**60+sa
hb= Split(Text2, ":")(0)
mb= Split(Text2, ":")(1)
sb= Split(Text2, ":")(2)
db=hb*3600+mb**60+sb
if d> da and d< db
نفذ
endif
if d> db and d< da then
نفذ
endif
if d= da and
نفذ
endif
d= db then
نفذ
endif