منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
أريد إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر ولكن بدل المصباح استخدمت shape
لكنني واجهتني مشاكل
فممكن كود هذا المشروع
شكل الفكره في المرفقات
من أبرز المشاكل التي تواجهني
1- عندا إختياري وقت والساعه الأن قد تخطت هذا الوقت ولم تتخطى وقت الإطفاء فالمفروض المصباح يضيء
أرفق البرنامج للتعديل عليه
البرنامج في المرفقات للتعديل
مع الشكر الجزيل
Up up up
السلام عليكم

- إستبدل كود الـ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
الفكره هكذا وايضا بحاجة الى تعديل
استعمل الكود التالي :

كود :
Text3.Text = Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
If Text3.Text = Text1.Text Then
نفذ
End If
If Text3.Text = Text2.Text Then
نفذ
End If
(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
الصفحات : 1 2