Seite 4 von 5

Verfasst: 19.03.2007 21:23
von Kaeru Gaman
du hattest hier bereits ein beispiel gezeigt bekommen, wo auf den button reagiert wurde.
also schau dir doch dieses thema nochmal komplett an.

Verfasst: 19.03.2007 21:26
von by night
Das Beispiel hilft mir nicht wirklich weiter. Die Hilfe auch nicht. Und einige Tutorials, die ich bei Google gefunden habe auch nicht. Ich bräuchte ein simples Beispiel, welches den Umgang mit EventID erkärt. Wichtig ist auch wie ich es konkret einsetze. Sprich an welcher Stelle im Code.

Ich hoffe, du weißt was gemeint ist :)

Verfasst: 19.03.2007 21:47
von Kaeru Gaman
wie du richtig gemerkt hast, ist EventID eine variable.
du könntest sie also auch irgendwie anders nennen.

in variablen kann man rückgabewerte von funktionen speichern.
so auch den Rückgabewert von WaitWindowEvent().
das wartet auf irgendein event und gibt dessen nummer zurück.
darauf reagierst du dann.

z.b. wenn das event das schließen des fensters ist (#PB_Event_CloseWindow),
verläßt du deine hauptschleife und dein program.

wenn das event aussagt, dass ein Gadget betätigt wurde,
musst du die funktion EventGadget() aufrufen,
die liefert dir die nummer zurück, welches Gadget betätigt wurde.

Verfasst: 19.03.2007 21:57
von by night
Tolle Erklärung :) Das einzige, was mit jetzt noch fehlt, ist ein Beispiel, was die ganze Sache verdeutlicht. Denn ich verstehe nicht recht, wohin ich diese Variablen im Code hinsetzen muss. Deswegen wäre Beispiel die Lösung meines Problems :wink:

Verfasst: 20.03.2007 00:13
von HeX0R
by night hat geschrieben: [...]
Deswegen wäre Beispiel die Lösung meines Problems :wink:
Ist das versteckte Kamera ?
Du hast doch bereits den Code von Edel, da siehst du doch wie diese ominöse Variable benutzt wird.

Verfasst: 20.03.2007 17:43
von by night
Habs soweit geschafft. Doch nachdem er den MessageRequester öffnet, lässt er sich nicht wieder schließen. Wie bekomm ich das hin?

Code: Alles auswählen

MessageRequester("Obacht!", "Dieses Programm wird Ihnen dabei helfen, herauszufinden, ob Tobias oder Adrian cooler ist!")

If OpenWindow(0, 400, 400, 200, 200, "Wer ist cooler?")

If CreateGadgetList(WindowID(0))
ButtonGadget(1, 10, 100, 180, 60, "Tobias")
ButtonGadget(2, 10, 15, 180, 60, "Adrian")
EndIf

Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_CloseWindow
Quit=1 
EndIf
If EventGadget()=1
MessageRequester("Falsch!", "Die Antwort ist leider falsch!" +  Chr(10) + "Tobias ist ein Lowbird!")
EndIf
If EventGadget()=2
MessageRequester("Richtig!", "Wunderbar, Sie haben gewonnen!")
    EndIf
Until quit=1
EndIf
End

Verfasst: 20.03.2007 18:08
von ts-soft

Code: Alles auswählen

MessageRequester("Obacht!", "Dieses Programm wird Ihnen dabei helfen, herauszufinden, ob Tobias oder Adrian cooler ist!")

If OpenWindow(0, 400, 400, 200, 200, "Wer ist cooler?")

  If CreateGadgetList(WindowID(0))
    ButtonGadget(1, 10, 100, 180, 60, "Tobias")
    ButtonGadget(2, 10, 15, 180, 60, "Adrian")
  EndIf

  Repeat
    EventID=WaitWindowEvent()
    If EventID=#PB_Event_CloseWindow
      Quit=1
    EndIf
    If EventID = #PB_Event_Gadget ; <---------- wichtig, erst abfragen ob Gadget Event, danach erst welches!
      If EventGadget()=1
        MessageRequester("Falsch!", "Die Antwort ist leider falsch!" +  Chr(10) + "Tobias ist ein Lowbird!")
      EndIf
      If EventGadget()=2
        MessageRequester("Richtig!", "Wunderbar, Sie haben gewonnen!")
      EndIf
    EndIf
  Until quit=1
EndIf
End


Verfasst: 20.03.2007 18:21
von by night

Code: Alles auswählen

MessageRequester("Obacht!", "Dieses Programm wird Sie Stimmen hören lassen!")

InitSound()
CatchSound(1, ?Music)
CatchSound(2, ?Dings)

If OpenWindow(0, 400, 400, 200, 200, "Wer ist cooler?")

  If CreateGadgetList(WindowID(0))
    ButtonGadget(1, 10, 100, 180, 60, "Sebastian")
    ButtonGadget(2, 10, 15, 180, 60, "Adrian")
  EndIf

  Repeat
    EventID=WaitWindowEvent()
    If EventID=#PB_Event_CloseWindow
      Quit=1
    EndIf
    If EventID = #PB_Event_Gadget 
      If EventGadget()=1
        PlaySound(1, 0)
      EndIf
      If EventGadget()=2
      PlaySound(2, 0)
        
      EndIf
    EndIf
  Until quit=1
EndIf
End 

DataSection
Music: IncludeBinary "c:\sebastian.wav"
Dings: IncludeBinary "c:\adrian.wav"
EndDataSection 
Wenn ich auf den Button "Adrian" klicke, lässt er meine Stimme hören. Aber wenn ich auf den Button Sebastian klicke, lässt er meine und danach Sebastian' s Stimme hören ?!

Verfasst: 20.03.2007 18:29
von Fluid Byte
Ist der Typ echt? Bild

Verfasst: 20.03.2007 18:30
von by night
Ja.