Seite 2 von 2
Re: Repeat : Until WaitWindowEvent()
Verfasst: 06.06.2012 11:42
von Kiffi
Pr0fessor hat geschrieben:noch eine frage zum verständnis:
würde die zeile
Code: Alles auswählen
repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
folgendes bedeuten?
Code: Alles auswählen
Repeat
WaitWindowEvent()
Until WaitWindowEvent() = #PB_Event_CloseWindow
nein. Denn damit rufst Du 2mal WaitWindowEvent()
auf, was zur Folge hat, dass Ereignisse 'verschluckt'
werden.
Grüße ... Kiffi
Re: Repeat : Until WaitWindowEvent()
Verfasst: 06.06.2012 12:32
von RSBasic
Wenn du innerhalb der Schleife einen "WaitWindowEvent" haben möchtest, dann mach es doch so:
Code: Alles auswählen
Repeat
Event = WaitWindowEvent()
;Weitere Auswertungen...
Until Event = #PB_Event_CloseWindow
Re: Repeat : Until WaitWindowEvent()
Verfasst: 06.06.2012 14:03
von Nino
Pr0fessor hat geschrieben:noch eine frage zum verständnis:
würde die zeile
Code: Alles auswählen
repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
folgendes bedeuten?
Code: Alles auswählen
Repeat
WaitWindowEvent()
Until WaitWindowEvent() = #PB_Event_CloseWindow
Nein, der Doppelpunkt kann lediglich durch einen Zeilenumbruch ersetzt werden.
Siehe
Allgemeine Syntax-Regeln.
Re: Repeat : Until WaitWindowEvent()
Verfasst: 06.06.2012 15:03
von STARGÅTE
Code: Alles auswählen
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Dieser Code wird eigentlich nur in sehr kurzen Beispielcode für Windows und Gadgets genutzt, weil er sicherstellt, dass Events verarbeitet werden und das Programm beim [X] drücken beendet wird.
Wenn du ein richtiges Programm schreiben möchtest, solltest du die Events richtig auswerten, und die Schleife zB so aufbauen:
Code: Alles auswählen
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break ; aus der Schleife springen, hier kann auch "End" verwendet werden.
Case #PB_Event_Gadget
Select EventGadget() ; In welchem Gadget gabs ein Event
Case #GadgetNummer
Select EventType() ; Welcher Eventtyp liegt vor?
Case #PB_EventType_LeftClick
;...
EndSelect
;...
EndSelect
Case #PB_Event_Menu
Select EventMenu() ; Welcher Menüeintrag wurde angeklickt.
Case #MenuItem
;...
EndSelect
EndSelect
ForEver
Re: Repeat : Until WaitWindowEvent()
Verfasst: 06.06.2012 15:44
von Pr0fessor
Danke für die vielen aufschlussreichen antworten - jetzt weiß ich bescheid.
(auch super finde ich dass das Forum so eine gute community besitzt indem man schnell geholfen wird.

)