Seite 1 von 1

Event wird ausgeführt, obwohl nicht alle Bedingungen erfüllt

Verfasst: 25.09.2019 23:38
von bastibasti
Hi,

ich habe ein string gadget, in dem ich daten eingeben kann

Code: Alles auswählen

;######### INPUT ##############
  TextGadget(2, inputfield_x, inputfield_y, 200, 25, lang_mainwindow_inputhere, #PB_Text_Center)
  StringGadget(3, inputfield_x, inputfield_y.b+text_stringgadget_offset.b, 200, 25, "")
  AddKeyboardShortcut(#Window, #PB_Shortcut_Return, 100)  ;Eingabefenster soll auf "Enter" eine aktion ausführen
 
dann frage ich in der loop folgendes ab

Code: Alles auswählen

 If EventMenu() =  100 And GetActiveGadget() = 3 And eventlock=0
  eventlock=1
  input.s=GetGadgetText(3)
  If input.s<>""
  .
.
.
.
end if
Jetzt kommt es vor, das ich in das feld zB eingebe:
1 ENTER
2 ENTER
und bei 3 wird automatisch der event ausgelöst. (passiert auch bei a b c etc)

also immer bei der dritten eingabe wird sofort nach dem eingegebenen character die schleife abgearbeitet.

wo ist mein Fehler??

Re: Event wird ausgeführt, obwohl nicht alle Bedingungen erf

Verfasst: 25.09.2019 23:44
von HeX0R
bastibasti hat geschrieben:wo ist mein Fehler??
In Zeile 203 steht ein WaitWindowEvent() zuviel.

Re: Event wird ausgeführt, obwohl nicht alle Bedingungen erf

Verfasst: 25.09.2019 23:57
von Kiffi
bastibasti hat geschrieben:wo ist mein Fehler??
Aktion wird groß geschrieben.

Re: Event wird ausgeführt, obwohl nicht alle Bedingungen erf

Verfasst: 26.09.2019 00:09
von bastibasti
Ich verwende nur ein WaitWindowEvent(50) weiter unten im Code,

was genau löst den Fehler aus? Das WaitWindowEvent(50) oder die erneute Abfrage von EventMenu() ??

Edit:

habe es nun so gelöst das das EventMenu() nur einmal abgefragt wird

Code: Alles auswählen

Select WaitWindowEvent(50)
   Case #PB_Event_Menu
        Select EventMenu()  ; To see which menu has been selected
          Case 11 ; About
            MessageRequester("About", "", 0)
          Case 7; quit
            quit=1
          Case 100 ;enter button received
            enter.b=1
        EndSelect
    ;   Case #PB_Event_Gadget
      Case #PB_Event_CloseWindow
        Quit = 1
 EndSelect
 
 If enter.b=1 And GetActiveGadget() = 3 
   enter.b=0
     input.s=GetGadgetText(3)
     If input.s<>""