Schleifen Rücksprung

Anfängerfragen zum Programmieren mit PureBasic.
Fanpost
Beiträge: 97
Registriert: 27.01.2013 14:43

Schleifen Rücksprung

Beitrag 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

Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Schleifen Rücksprung

Beitrag 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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Schleifen Rücksprung

Beitrag 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
a²+b²=mc²
Fanpost
Beiträge: 97
Registriert: 27.01.2013 14:43

Re: Schleifen Rücksprung

Beitrag von Fanpost »

Danke für die sehr schnellen Rückmeldungen!

Peters Lösung hat geholfen, danke!

Gruss Hartmut
Antworten