EXIT Frage

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

hamztata

Betreff: EXIT Frage

BeitragMo, März 09, 2009 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
   WHILE Pos<=ImageFileSize-4
      SeekFile(ImageFile, Pos)
      FOR i=0 TO 3
             POKEBYTE Buffer, i, READBYTE(ImageFile)
       NEXT
      IF (PEEKBYTE(Buffer,0) = $FF) AND (PEEKBYTE(Buffer,1) = $D8) AND (PEEKBYTE(Buffer,2) = $FF) AND (PEEKBYTE(Buffer,3) = $E0) THEN
         IsError = FALSE
         Exit
      ENDIF
      Pos = Pos + 1
   WEND
   IF IsError RETURN
   Pos = FilePos(ImageFile) + Swap16(ReadShort(ImageFile))


So richtig verstehe ich das Exit dort nicht.
Wird nicht sowieso nach erfüllter IF Bedingung aus der Schleife gesprungen?
Oder bezieht sich das auf While?Eher nicht.

Bin grad etwas ratlos.

The_Nici

BeitragMo, März 09, 2009 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das bezieht sich tatsächlich auf While. If-Bedingungen sind keine Schleifen. Wink

MfG
 

hamztata

BeitragMo, März 09, 2009 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ah ich seh grad, hat mit if ja nix zu tun, sondenr nur mit schleifen.
respekt, schneller konnte kaum jemand antworten, danke sehr.
 

Broghi

BeitragMi, Jan 19, 2011 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab auch mal eine Frage zu Exit.

Gibt es eine Möglichkeit, nur einen Schleifendurchgang zu überspringen? Exit beendet ja gleich die ganze Schleife. Ich Suche sowas wie "Continue" in Delphi, was einfach nur den aktuellen Schleifendurchgang beendet und mit dem nächsten Schleifendurchgang beginnt.
Gibts es da Alternativen oder Routinen dazu?
Wozu lernen wir überhaupt programmieren?
Damit der Computer für uns Aufgaben löst (die wir ohne ihn nie gehabt hätten!).

Lord Stweccys

BeitragMi, Jan 19, 2011 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Sowas gibts meines Wissens nur in BlitzMax, natürlich könnte man das in BB mit einem Goto
umsetzen, aber das wäre ja ein Tabubruch ;D
 

Jumper

BeitragMi, Jan 19, 2011 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es in BB wohl nicht, wozu auch?
Dies erfüllt den gleichen Zweck:

BlitzBasic: [AUSKLAPPEN]
For i=1 To 20
If i Mod 2 = 0
Print i
EndIf
Next


wie dies in BMax:

BlitzMax: [AUSKLAPPEN]
For i=1 To 20
If i Mod 2 Continue
Print i
Next

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Jan 19, 2011 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Continue Funktion ist praktischer als du denkst.
Wenn man zum Beispiel ein paar Types durchläuft, diese aber schon aus irgendeinem Grund mitten in der Schleife gelöscht werden, muss man danach immer testen ob die variable <> Null ist.
Mit Continue geht es sofort mit dem nächsten Type-Eintrag weiter.

Klar kann man so etwas normalerweise umgehen, aber manchmal wäre es so einfach am einfachsten und schnellsten.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

Broghi

BeitragMi, Jan 19, 2011 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnt man so einen Befehl mit einer Userlib umsetzen?
Ich hab leider nicht viel Ahnung von Userlibs
Wozu lernen wir überhaupt programmieren?
Damit der Computer für uns Aufgaben löst (die wir ohne ihn nie gehabt hätten!).

Lord Stweccys

BeitragMi, Jan 19, 2011 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Nö ,Broghi. Sowas mus bb-intern sein und wird in BMax nicht einmal, wie eine normale Funktion gehandelt.
Ich denke, da ist nichts zu machen. Sad

... deshalb kann ich jedem BMax nur wärmstens empfehlen XD

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group