Vb6- Een event met timer

Status
Niet open voor verdere reacties.

satriano17

Gebruiker
Lid geworden
30 sep 2012
Berichten
331
Code:
Private Sub Command1_Click()
If Label1.Caption = text1.text Then
MsgBox "OK"
End If
End Sub
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time 'actueel tijd
End Sub
dag
ik heb een label1 waar de actueel tijd wordt wergegeven (Time)
in text1.text geef ik een toekomst tijd (bv 10:20:00)

Ik wil dat als de actueel tijd gelijk is aan de aangegeven tijd in text1.text
dan wordt OK weergegeven.
Maar bovenstande code werkt niet.

Waar zit fout?
dank u
 
Laatst bewerkt:
Hoe voer je de tijd in? Dus hoe ziet text1.text eruit?
Want Caption is een string, die wordt gevuld met Time. En vlgs. mij is dat hh:mm:ss, dus (bijv.) als je text1.txt invoert als 9:30 dan zijn die twee niet te vergelijken!

Dus, stel dat text1.txt 9:30 is, dan zou ik die voorlaatste regel zo maken:
Code:
Label1.Caption = format (Now, "H:mm") 'actueel tijd

Desnoods even op het scherm de verschillende waarden laten zien, zodat je kunt zien of ze echt vergelijkbaar zijn in je "If Label1.Caption = text1.text Then" regel.

Tijs.
 
Laatst bewerkt:
ja, inderdaad in text1 doe ik zo xx:xx:xx

ik heb nu error in
Code:
Label1.Caption = format (Now, H:mm) 'actueel tijd

syntax error

de punten : worden niet toegestaan
 
Laatst bewerkt:
Doe het (gegeven text1.text = hh:mm:ss , wat niet bekend was na je startposting):
Code:
Label1.Caption = format(Now, "hh:mm:ss") 'actueel tijd
of (indien toegestaan/beschikbaar in VB6):
Code:
Label1.Caption = TimeString 'actueel tijd

Ik heb de syntax error verholpen in mijn vorige posting (niet dat het nu belangrijk is, want je moet toch format "hh:mm:ss" hebben) ;)

Tijs.
 
Laatst bewerkt:
Geen error meer zo
Code:
Private Sub Command1_Click()
If Label1.Caption = Text1.Text Then
MsgBox "OK"
End If
End Sub
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Format(Now, "hh:mm:ss") 'actueel tijd


End Sub
maar ook geen , 'OK' in msgbox. Dus nog geen verbetering
 
Laatst bewerkt:
OPgelost zo
Code:
Private Sub Command1_Click()
Label1.Caption = Text1.Text

End Sub
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Format(Now, "hh:mm:ss") 'actueel tijd

If Label1.Caption = Text1.Text Then
MsgBox "OK"
End If
End Sub
Bedankt voor uw tip.
EEn vraag:

Als ik in de plaats van de label een tweede text box gebruik? Dus geen label maar met een text2
 
Laatst bewerkt:
Niet dat ik je hele code begrijp, maar probeer het eens zo:
a. Laat regelmatig even Label1.Caption op je scherm verschijnen, zodat je weet welke waarde die heeft op dat moment.
[Overigens apart dat je mijn voorgestelde code negeert, want wat ik in je vorige posting aan code zie is exact dezelfde code als in je startposting.]
b. Probeer eens, ipv.
Code:
If Label1.Caption = Text1.Text Then
eens:
Code:
If Label1.Caption >= Text1.Text Then

Ik ga ervan uit dat je timer functioneel in orde is en dat ook je verhaal over Text1.text correct is/werkt.

Tijs.
 
Ok. Nogmaals bedankt.
ps: il laat inderdaad ook altijd label1 zichtbaar zodat ik weet welke waarde heeft.

dank u
opgelost !
satriano
 
Ik zal even uitleggen waarom (blijkbaar) >= (dus: groter dan of gelijk aan) wel (betrouwbaar) werkt en = niet:
Je verhoogt de timer telkens met 1 seconde ("Timer1.Interval = 1000"), maar die methode is niet altijd even betrouwbaar, dus slaat hij 'een seconde over' (bijv. van 10:19:59 naar 10:20:01), dan werkt je = verhaal al niet meer.
Vandaar "groter dan of gelijk aan".

Tijs.
 
Graag gedaan.

Graag nog wel even je vraag de status opgelost geven, ajb.

Tijs.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan