منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر (/showthread.php?tid=1335)

الصفحات: 1 2


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - mounzerlb - 25-12-13

(25-12-13, 05:07 AM)asto كتب : اصبح عليك تحويل الوقت الى ثواني

و بالتالي
كود :
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

جاري التجربه يا غالي

المشكله نفسها لأن الوقت ليس تصاعديا بشكل مستمر عند الساعه الثانيه عشر ليلا الثواني ستصبح صغيره والمقارنه لن تنجح

(25-12-13, 05:07 AM)asto كتب : اصبح عليك تحويل الوقت الى ثواني

و بالتالي
كود :
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



RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - asto - 25-12-13

اصبح عليك وضع الشرط قبل باقي الشروط

q=0
if hb>12 and ha<12 then
q=q+1
else
q=0
endif
q=0
if hb<12 and ha>12 then
q=q+1
else
q=0
endif
if q=0 then

باقي الشروط

else
if d> da and d> db
نفذ
endif
'''''''''''''''''''''''2'''''''''''''''''''''''''
if d> db and d< da then
نفذ
endif
''''''''''''''''''''''''''2'''''''''''''''''
if d= da then
نفذ
endif
if d= db then
نفذ
endif

endif

اذا ما زبط الكود غير ال d< da ب d> da في ما بين '''''''''''''''''''''''2''''''''''


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - mounzerlb - 25-12-13

البرنامج أصبح بهذا الشكل
PHP كود :
Private Sub Timer2_Timer()

h0 Format(Now"hh")
h1 Format(Text1.Text"hh")
h2 Format(Text2.Text"hh")

m0 Format(Now"nn")
m1 Format(Text1.Text"nn")
m2 Format(Text2.Text"nn")

s0 Format(Now"ss")
s1 Format(Text1.Text"ss")
s2 Format(Text2.Text"ss")

t0 = ((h0 3600) + (m0 60) + s0)
t1 = ((h1 3600) + (m1 60) + s1)
t2 = ((h2 3600) + (m2 60) + s2)
    
    
'===============================
If t1 <= 43200 And t2 <= 43200 Then
If t0 > t1 And t0 < t2 Then
Shape1.BackColor = &HFFFF&    '
&HFFFFFF

Else
Shape1.BackColor = &HFFFFFF
End 
If
End If


If 
t1 >= 43200 And t2 >= 43200 Then
If t0 t1 And t0 t2 Then
Shape1
.BackColor = &HFFFF&    '&HFFFFFF
Else
Shape1.BackColor = &HFFFFFF
End If
End If

If t1 >= 43200 And t2 <= 43200 Then
If t0 > t1 And t0 > t2 Then
Shape1.BackColor = &HFFFF&    '
&HFFFFFF
Else
Shape1.BackColor = &HFFFFFF
End 
If
End If


If 
t1 <= 43200 And t2 >= 43200 Then
If t0 t1 And t0 t2 Then
Shape1
.BackColor = &HFFFF&    '&HFFFFFF
Else
Shape1.BackColor = &HFFFFFF
End If
End If


End Sub 
شكر للأخ asto على المساعدة
بقي إحتمال وحيد لم يدخل في الحسبان
وقت التشغيل: 05:10:00
وقت الإيقاف: 05:00:00
الساعة الأن 18:00:00
المفروض حالة المصباح مضاءه


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - asto - 26-12-13

اي بسيطة

if db >da then
q=q+1
else
q=0
endif

و بالتالي هذا الشرط if d> da and d> db قبل '''''''''''''''''''''''2''''''''''''''''''''''''' يصبح هكذا if d> da or d> db


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - mounzerlb - 26-12-13

اعلم ذلك. الأن استراحة وغدا انشاءلله اتابع
مشكور اخ asto


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - VB_Coder - 26-12-13

السلام عليكم

- جزاك الله كل خير أخي asto على تفانيك في تقديم المساعده للأخوه الأعضاء .

- هذا تعديل للكود الذي وضعته في ردي السابق الخاص بكود ال 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 First_Time < Second_Time Then

   IF Now_Time >= First_Time And Now_Time < Second_Time Then
       Shape1.BackColor = &HFFFFFF
   Else
       Shape1.BackColor = &HFF&
       Timer2.Enabled = False
        Exit Sub
   End IF

ElseIF First_Time > Second_Time Then

    IF Now_Time >= First_Time Or           Now_Time < Second_Time Then
       Shape1.BackColor = &HFFFFFF
   ElseIF Now_Time < First_Time And Now_Time >= Second_Time Then
       Shape1.BackColor = &HFF&
       Timer2.Enabled = False
       Exit Sub
   End IF

Else

    Shape1.BackColor = &HFF&
    Timer2.Enabled = False
    Exit Sub

End If

- تحياتي .


RE: إضاءة مصباح في وقت محدد وإطفاءه في وقت أخر - mounzerlb - 26-12-13

البرنامج بصيغته النهائية وفيه كل الإحتمالات
مع الشكر للجميع
PHP كود :
h0 Format(Now"hh")
h1 Format(Text1.Text"hh")
h2 Format(Text2.Text"hh")

m0 Format(Now"nn")
m1 Format(Text1.Text"nn")
m2 Format(Text2.Text"nn")

s0 Format(Now"ss")
s1 Format(Text1.Text"ss")
s2 Format(Text2.Text"ss")

t0 = ((h0 3600) + (m0 60) + s0)
t1 = ((h1 3600) + (m1 60) + s1)
t2 = ((h2 3600) + (m2 60) + s2)
 
    
'===============================
If t0 >= t1 And t0 > t2 And t1 > t2 Then
q = 1
End If
If t0 > t1 And t0 >= t2 And t1 < t2 Then
q = 0
End If
If t0 <= t1 And t0 < t2 And t1 > t2 Then
q = 1
End If
If t0 < t1 And t0 <= t2 And t1 < t2 Then
q = 0
End If
If t0 < t1 And t0 >= t2 And t1 > t2 Then
q = 0
End If
If t0 < t1 And t0 > t2 And t1 < t2 Then
'
áÇ íæÌÏ
End 
If
If 
t0 t1 And t0 t2 And t1 t2 Then
'áÇ íæÌÏ
End If
If t0 >= t1 And t0 < t2 And t1 < t2 Then
q = 1
End If