Seite 1 von 1

WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 12:20
von maupa
PB 5.11 Windoof 8, intel I7, Nvidia

es geht um WaitWindowEvent() Hilfe Beispiel.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 230, 90, "Event-Handling Beispiel...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)   ; öffnet Fenster  ID 0 ,Event Fenster

   ButtonGadget  (1, 10, 10, 200, 20, "Klick mich")                                                               ;erzeugt ein Butten der Später abgefragt wird
   CheckBoxGadget(2, 10, 40, 200, 20, "Markiere mich")                                                            ;erzeugt eie Checkbox der Später abgefragt wird

   If CreateMenu(0, WindowID(0))                                                                                  ;Wenn Window 0 Vorhanden erzeugt/Aktiviert Fenster 0 für Menü eintag                          
     MenuTitle("Menu")                                                                                            ;Menu Titel wird erzeugt
     MenuItem(1, "Eintrag 1")                                                                                     ;Menu unter "Eintag 1" wird erzeugt 
     MenuItem(2, "Eintrag 2")                                                                                     ;Menu unter "Eintag 2" wird erzeugt                                                                       
     MenuItem(3, "Eintrag 3")                                                                                     ;Menu unter "Eintag 3" wird erzeugt 
   EndIf                                                                                                          ;Ende  menü Erzeugung                                                                                        

   Repeat                                                                                                         ;Schleife Start
     Event = WaitWindowEvent()                                                                                     ;Wartet auf ereignis in Fenster 0
     
     Select Event                                                                                                 ;Start ereignis auswertung
     
       Case #PB_Event_Gadget                                                                                      ;Abfrage Start: Gibt die "#PB_Event_Gadget" Nummer des Gadgets zurück                                                                                       
         Select EventGadget()                                                                                     ;Abfragen deklaration 
           Case 1 : Debug "Schalter 1 angeklickt!"                                                                ;Ist "#Gadget" = 1 -> ausgabe "Schalter 1 angeklickt!"  in Debug Fenter
           Case 2 : Debug "Schalter 2 angeklickt!"                                                                ;Ist "#Gadget" = 2 -> ausgabe "Schalter 2 angeklickt!"  in Debug Fenter
           Case 2 : Debug "Schalter 2 angeklickt!"
         EndSelect                                                                                                ; Ende der abfrage
       
       Case #PB_Event_Menu                                                                                         ;Abfrage Start: Gibt die "#PB_Event_Menu" Nummer des menus zurück 
         Select EventMenu()                                                                                        ;Abfragen deklaration
           Case 1 : Debug "Menü-Eintrag 1 angeklickt!"                                                             ;Ist "#PB_Event_Menu" = 1 -> ausgabe "Menü-Eintrag 1 angeklickt!"  in Debug Fenter
           Case 2 : Debug "Menü-Eintrag 2 angeklickt!"                                                             ;Ist "#PB_Event_Menu" = 2 -> ausgabe "Menü-Eintrag 1 angeklickt!"  in Debug Fenter
           Case 3 : Debug "Menü-Eintrag 3 angeklickt!"                                                             ;Ist "#PB_Event_Menu" = 3 -> ausgabe "Menü-Eintrag 1 angeklickt!"  in Debug Fenter                                                
         EndSelect                                                                                                 ;Ende der Abrage "#PB_Event_Menu"
     
     EndSelect                                                                                                     ;Ende der Abrage "#PB_Event_Gadgetu"
   Until #PB_Event_CloseWindow                                                                                      ;Schleife Aktiv solang Fenster 0 offen (Zeiger)-> liste
EndIf




Als erste Frage wieso die If Abfrage bei open Window, brauch doch keiner.. (Wenigstens entsteht der Eindruck das man es braucht)
und zweite Frage wieso öffnet das Debug Fenster nicht wenn man es schlisst das zweite mal, Wird doch aufgeruffen???

Danke für Hilfe

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 12:27
von ts-soft
Frage: Wo ist der Bug?

Die selbstverständliche Abfrage, ob ein OpenWindow() auch geklappt hat, ist wohl eher kein Bug.
Wenn Du es so nicht nutzt, ist das Dein Problem. Bei OpenWindow() kann man es aber tatsächlich
weglassen, bei vielen anderen Dingen nicht.

Wenn das Debug-Fenster geschlossen wird, dann ist es geschlossen. Wenn man es wieder benötigt, kann
man es z.B. im Menü der IDE wieder öffnen.

Und jetzt solltest Du Dir noch Gedanken machen, was hinter dem Begriff Bug steckt, bzw. was damit
gemeint ist.

Gruß
Thomas

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 12:36
von maupa
Ok,

Versteh total was du meinst.. Aber versuche das aus der Sicht von Anfänger zu sehen..

Woher soll man das wissen das man ein Debug Fenster wieder öffnen muss/kann.
Auch in Hilfe steht nichts zu..
Man liest Hilfe und wundert sich, das Debug Fenster nicht zu sehen ist. Wenigstens sollte man drauf aufmerksam machen, das ein geschlossene Debug Fenster geschlossen bleibt. auch wenn es wieder mal aufgeruffen. <<-- das war meine Fehler Meldung.. Debug neu aufgerufen nichts passiert.. Lauft Hilfe sollte das funktionieren..

Entweder Fehler in Hilfe , oder in Debug Handling

Und jetzt solltest Du Dir noch Gedanken machen, was hinter dem Begriff Bug steckt, bzw. was damit
gemeint ist.

Hoffe man kann mir folgen ?

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 13:32
von ts-soft
maupa hat geschrieben:Und jetzt solltest Du Dir noch Gedanken machen, was hinter dem Begriff Bug steckt, bzw. was damit
gemeint ist.
Hab ich bereits vor längerer Zeit, siehe: http://www.purebasic.fr/german/viewtopi ... 61#p258961

Nicht dokumentiertes Verhalten ist kein Bug. Solche Meldungen gehören dann hier: http://www.purebasic.fr/german/viewtopi ... 20&t=16955 hin.

Gruß
Thomas

PS: Anmeldedatum 2004 und Anfänger? Vielleicht solltest Du Dir doch etwas mehr Zeit für Dein Hobby gönnen :wink:

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 13:37
von maupa
nana

so ist das nicht.. hab 3 Usern PB empfohlen ( dann auch gekauft) nu bekommen ich eben solche Fragen. Wo ich nun oft keine Antwort hab.
Und danke für die Links, war nicht ersichtlich, erster schon.. dachte das ich Ales geschrieben hab was man braucht.. ..
>PB hab ich schon seit Amiga Zeiten.. also sehe ich mich nicht so Anfänger, dennoch tauchen fragen wo ich kein Plan von hab.


Gruß
MAUPA

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 13:50
von ts-soft
Jetzt nochmal eine grundsätzliche Aussage, die eher für alle bestimmt ist:

Ein Bug kann nur ein Verhalten sein, das anders als dokumentiert ist.
Nicht dokumentiertes Verhalten ist niemals ein Bug. In diesem Falle ist
darauf hinzuweisen, das dieses Verhalten dokumentiert wird, bzw. man
äussert den Wunsch, eben anderes Verhalten zu erhalten.
(in den passenden Unterforen)

Re: WaitWindowEvent() Hilfe Beispiel

Verfasst: 10.08.2013 14:13
von maupa
war mir auch nicht Klaar..

Bitte schreibt das eben auch da hin
http://www.purebasic.fr/german/viewtopi ... 61#p258961
für die nachwelt
Gruß
MAUPA