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
				
			 
			
					
				Re: Case / Select
				Verfasst: 10.09.2012 13:49
				von kunstlust
				Danke STARGÅTE, genau so meinte ich.
Gruß Lars