Zeit messen im Programm
Verfasst: 28.04.2007 23:46
Hallo zusammen hier bin ich schon wieder habe es versucht mit dem Zeitmesen, aber irgendwie werde ich nicht schlau.
Ich habe es geschaf das wenn ich Enter drücke die aktuelle Zeit nachgeführt wird. Aber eigentlich möchte ich das unten im Fenster die Zeit laufend mit läuft, wie mache ich dass am Besten, ich habe es in der Repead schlaufe eingefügt, bekomme dort aber keine Werte zurück, wieso eigentlich.
hier der Code
Ich habe es geschaf das wenn ich Enter drücke die aktuelle Zeit nachgeführt wird. Aber eigentlich möchte ich das unten im Fenster die Zeit laufend mit läuft, wie mache ich dass am Besten, ich habe es in der Repead schlaufe eingefügt, bekomme dort aber keine Werte zurück, wieso eigentlich.
hier der Code
Code: Alles auswählen
; Mit Eneumeritation wird den Konstanten eine Fortlaufende Nummer vergeben anstelle dies von Hand zu machen.
Enumeration
#StringZahl1
#StringZahl2
#StringZahl3
#StringErgebnis
#MainWindow
#neu
#RichtigOderFalschText
#AnzahlRichtigeText
#AnzahlRichtigeWert
#AnzahlFalscherText
#AnzahlFalscherWert
#AktuelleDauer
EndEnumeration
Anzahl_Richtig = 0
Anzahl_Falsche = 0
t_start = ElapsedMilliseconds()
Procedure FillGadget()
SetGadgetText(#StringZahl1,Str(Random(10)))
SetGadgetText(#StringZahl2,Str(Random(10)))
SetGadgetText(#StringZahl3,"")
EndProcedure
Procedure rechne()
val1.s = GetGadgetText(#StringZahl1)
val2.s = GetGadgetText(#StringZahl2)
result = Val(val1)*Val(val2)
SetGadgetText(#StringErgebnis,Str(result))
If result = Val(GetGadgetText(#StringZahl3))
ProcedureReturn #True
EndIf
EndProcedure
If OpenWindow(#MainWindow,0,0,200,400,"Taschenrechner",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(#MainWindow))
TextGadget(#PB_Any, 0, 10, 100, 20, "Erste Zahl")
StringGadget(#StringZahl1,0,30,100,20,Str(Random(10)),#PB_String_Numeric)
TextGadget(#PB_Any, 0, 60, 100, 20, "Zweite Zahl")
StringGadget(#StringZahl2,0,80,100,20,Str(Random(10)),#PB_String_Numeric)
TextGadget(#PB_Any, 0, 135, 150, 20, "Resultat eingeben")
StringGadget(#StringZahl3,0,150,100,20,"",#PB_String_Numeric)
TextGadget(#PB_Any, 0, 180, 150, 20, "Neue Rechnung mit Enter")
TextGadget(#RichtigOderFalschText, 0, 260, 150, 60, "")
TextGadget(#StringErgebnis,160,260,100,20,"")
TextGadget(#AnzahlRichtigeText, 0, 330, 150, 20, "Anzahl Richtige")
TextGadget(#AnzahlRichtigeWert, 160, 330, 30, 20, "")
TextGadget(#AnzahlFalscherText, 0, 350, 150, 20, "Anzahl Falsche")
TextGadget(#AnzahlFalscherWert, 160, 350, 30, 20, "")
TextGadget(#AktuelleDauer, 0, 380, 150, 20, "Laufzeit: " + Str(laufzeit_jetzt/1000) + "s")
AddKeyboardShortcut(#MainWindow,#PB_Shortcut_Return,#neu)
SetActiveGadget(#StringZahl3)
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
laufzeit_jetzt = ElapsedMilliseconds() - t_start
SetGadgetText(#AktuelleDauer, "Laufzeit:" + Str(laufzeit_jetzt/1000) + "s")
Select EventID
Case #PB_Event_Menu
If EventMenu() = #neu
rechne()
If rechne()
Anzahl_Richtig = Anzahl_Richtig +1
SetGadgetText(#RichtigOderFalschText, "Richtig das Resultat war")
SetGadgetText(#AnzahlRichtigeWert, Str(Anzahl_Richtig))
Else
Anzahl_Falsch = Anzahl_Falsch +1
SetGadgetText(#RichtigOderFalschText, "Aber aber so was auch, das richtige Resultat lautet")
SetGadgetText(#AnzahlFalscherWert,Str(Anzahl_Falsch))
SetGadgetText(#StringErgebnis, "")
EndIf
FillGadget()
SetActiveGadget(#StringZahl3)
EndIf
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
EndSelect
Until EventID = #PB_Event_CloseWindow
End