VikingMedlem sedan maj 20003 652 inlägg Public blnLoop As Boolean
Private Sub Form_Load()
blnLoop = True
Do While blnLoop = True
Time.Caption = Now
DoEvents
Loop
End Sub
Private Sub Command1_Click()
blnLoop = False
End Sub
Försöker få en klocka som uppdaterar sig konstant, men när jag testkör denna kod så kommer inte något fönster upp. Om jag däremot tar bort DoEvents så hänger skiten sig, och detta är typ det första jag gjort i VB (enbart för att jag vill förbereda mig lite inför Programmering A, inte för att jag konverterat eller så :p), så jag har ingen aning om vad som kan vara fel :)
BeatboxMedlem sedan okt. 20013 217 inlägg Som jag ser det så lämnar du aldrig Form_Load(). Form_Load() brukar normalt användas till att initiera data innan applikationen kör igång. Man ska dock aldrig bli hängande i denna sub.
Du kanske kan lösa det mha att lägga ut en Timer som sköter uppdateringen av Time.Caption ? Det räcker ju med att uppdatera 1 ggr/s eftersom "Now" inte har någon högra upplösning.
Command1_Click() skulle då bara starta eller stoppa Timern.
GeinMedlem sedan sep. 20005 700 inlägg Håller med föregående talare. En timer passar mycket bättre. Din label skulle troligtvis mest blinka o ha sej, eftersom programmet nu vill skriva till labeln väldigt många ggr per sekund.
VikingMedlem sedan maj 20003 652 inlägg Ok. Tyvärr så har jag ungefär noll kunskap om VB, och jag har inte lyckats hitta någon bra manual (har sökt på MS-sida, men har inte hittat något riktigt bra liknanade PHP.nets manual), så jag skulle uppskatta lite mer förklaring :)
GeinMedlem sedan sep. 20005 700 inlägg dra in en Timer till formen, svår att missa, ikonen är ett tidtagarur.
markera det, tryck ctrl+p så att du kommer till dess egenskaper. Sätt ett lämpligt intervall, typ 1000 om den ska räkna varje sekund.
Så dubbelklickar du på timern och skriver in
Time.Caption = Now
Och i knappen skriver du
timer1.enabled = false
mer tydlig än så går väl inte ;)
Du placerar en label (Namn:Label1)
och en timer (Namn:Timer1) på Formen..
I Properties "skriver" du:
Timer1.enabled=True
Timer1.Interval=950
' Detta skriver du i koden
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub
:stud
Nexus86Medlem sedan okt. 20023 030 inlägg om du fortfarande känner för att använda en loop kan du lägga till raden
Me.Show
överst i Form_Load().