Seite 1 von 1

Schleifen Rücksprung

Verfasst: 30.05.2015 19:23
von Fanpost
Hallo,

ich möchte in einer Case/Select Schleife eine Abfrage Ja/Nein einbauen und bei "Nein" wieder an den Schleifenanfang springen.
Meine Lösungssuche war bisher erfolglos. Wie kann ich das realisieren?

Gruss Hartmut

Beispiel:

Code: Alles auswählen

If OpenWindow(0,200,270,440,220,"Test",#PB_Window_SystemMenu |#PB_Window_ScreenCentered )
  CreateGadgetList(WindowID(0))
  StringGadget(0,10,10,275,170,t$,#ES_MULTILINE|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL)
  ButtonGadget(1,295,160,140,20,"Daten Speichern")
  ButtonGadget(2,295,10,140,20,"Text 1 Laden")
  ButtonGadget(3,295,40,140,20,"Text 2 Laden")
  
  Repeat
    ws=WaitWindowEvent()
   
   
    If ws=#PB_Event_Gadget
      Select EventGadget()
        Case 1 ;Save
          mr = MessageRequester ("Frage","Wirklich Speichern?",#PB_MessageRequester_YesNo)
          If mr = 7
          End
          EndIf
                   
          If CreateFile(0,"Daten.txt")
            WriteString(0,GetGadgetText(0))
            CloseFile(0)
          EndIf
        Case 2 ; Load
          If ReadFile(0,"Daten 1.txt")
            A$=""
            Repeat
            A$+ReadString(0)+Chr(13)+Chr(10)
            Until Eof(0)<>0
            CloseFile(0)
          EndIf
        Case 3 ; Load
          If ReadFile(0,"Daten 2.txt")
            A$=""
            Repeat
            A$+ReadString(0)+Chr(13)+Chr(10)
            Until Eof(0)<>0
            CloseFile(0)
          EndIf 
        EndSelect
    EndIf
  Until ws=#PB_Event_CloseWindow
EndIf


Re: Schleifen Rücksprung

Verfasst: 30.05.2015 19:28
von RSBasic
Da es eine Schleife ist, brauchst du nicht, an den Schleifenanfang zu springen.
Im nächsten Schleifenvorgang kannst du den Vorgang starten, der bei "Nein" ausgeführt werden soll.
Was genau soll bei "Nein" passieren? Warum möchtest du denn unbedingt sofort an den Schleifenanfang springen?
Oder meinst du vielleicht Continue?

Re: Schleifen Rücksprung

Verfasst: 30.05.2015 19:34
von Kiffi
Du musst Deine Abfrage nur ein wenig umgestalten:

Code: Alles auswählen

[...]
Case 1 ;Save
  mr = MessageRequester ("Frage","Wirklich Speichern?",#PB_MessageRequester_YesNo)
  If mr = #PB_MessageRequester_Yes
    If CreateFile(0,"Daten.txt")
      WriteString(0,GetGadgetText(0))
      CloseFile(0)
    EndIf
  EndIf
Case 2 ; Load
[...]
Grüße ... Peter

Re: Schleifen Rücksprung

Verfasst: 30.05.2015 19:44
von Fanpost
Danke für die sehr schnellen Rückmeldungen!

Peters Lösung hat geholfen, danke!

Gruss Hartmut