Seite 1 von 1

Case / Select

Verfasst: 10.09.2012 10:15
von kunstlust
Ich möchte gerne per Case einen Buttonabfrage erzeugen, das ist ja auch kein Problem, nur der Button löst eine Aktion aus, welche z.B. nur Sinn macht, wen bestimmte Daten eingeben worden sind(Prefs). Klar ist so etwas mit einer IF Abfrage möglich, jedoch finde ich das die Übersichtlichkeit etwas leidet, gibt es eine Möglichkeit wieder zurück in die Select Abfrage zu zu springen?

Re: Case / Select

Verfasst: 10.09.2012 10:33
von Drago
Guten Morgen....

Keine Ahnung ob dir die Lösung gefällt:

Code: Alles auswählen

Global quit. b = #False
Global Event.i

Procedure MySelect( Event.i )
     
     Static Anzahl.i
     
     Select Event
          Case 1
               Debug "Feld 1 "
          Case 2
               Debug "Feld 2"
          Case 3
               Debug "Ende "
               quit = #True
     EndSelect
     
EndProcedure

Repeat
     Event = 1 + Random( 2 )
MySelect( Event )     
     Until quit

Re: Case / Select

Verfasst: 10.09.2012 10:36
von ts-soft
kunstlust hat geschrieben:nur der Button löst eine Aktion aus, welche z.B. nur Sinn macht, wen bestimmte Daten eingeben worden sind(Prefs).
So ganz verstehe ich Dein Problem nicht, aber der Button sollte nur aktiviert sein, wenn die Bedingung erfüllt ist.
Das gilt für alle Buttons, Menüs usw.
Wenn Du es so handhabst, brauchst Du Dir keine weiteren Gedanken beim Button-Ereignis machen, das kommt ja nur, wenn die
Bedingung erfüllt ist.

Ich hoffe mal, das ich mich verständlich ausgedrückt habe.

Gruß
Thomas

Re: Case / Select

Verfasst: 10.09.2012 10:39
von kunstlust
Danke Thomas,

sowas meinte ich.

Gruß Lars

Re: Case / Select

Verfasst: 10.09.2012 10:50
von Caliban
Meinst du in etwa sowas, ist nur schnell dahin geschrieben.

Code: Alles auswählen

OpenWindow(0,0,0,100,100,"Test")

StringGadget(1, 5,5,50,20,"")
ButtonGadget(2,5,30,50,20,"Ok")

Repeat
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_Gadget
    
    Gadget = EventGadget()
    Text.s = GetGadgetText(1)
    If Gadget = 2 And Text = "123"
      Debug "123"
    ElseIf Gadget = 2 And Text = "abc"
      Debug "abc"
    EndIf 
          
  EndIf 
  
Until EventID = #PB_Event_CloseWindow

Re: Case / Select

Verfasst: 10.09.2012 11:13
von kunstlust
Ich habe einfach zuviel reinpackt, da werden Listen und Prefs geschrieben und das ist einfach zu unübersichtlich, da hilft wohl nur eine weitere Prozedur. Danke aber für die Hilfe, ich hatte die Hoffnung das es dafür eine Ausstiegsbefehl gibt, welche ich übersehen habe.

Re: Case / Select

Verfasst: 10.09.2012 13:38
von STARGÅTE
Vllt meinst du ja dies:
Break im Case eines Select ?

Re: Case / Select

Verfasst: 10.09.2012 13:49
von kunstlust
Danke STARGÅTE, genau so meinte ich.
Gruß Lars