(Erledigt) Break ???

Previous topic - Next topic

Markus

Eigentlich wollte ich die Schleife bei gefunden mit dem Break verlassen.
Aber das Break kommt immer  :rant: warum das denn?
Sieht doch eigentlich so aus IF G.ID=ID THEN F=G ;BREAK ENDIF
nur das ENDIF der Zeilenumbruch ist.

Bei Visual Basic nennt sich das Exit For , bei anderen nur Exit was ich brauche.

Code (glbasic) Select


TYPE TTest
ID
ENDTYPE

GLOBAL MeineListe[] AS TTest

LOCAL A AS TTest
A.ID=1

LOCAL B AS TTest
B.ID=2

LOCAL C AS TTest
C.ID=3

DIMPUSH MeineListe[],A
DIMPUSH MeineListe[],B
DIMPUSH MeineListe[],C

LOCAL Found AS TTest
Found=FindID(3)

DEBUG "Gefunden " + Found.ID +"\n"

END

FUNCTION FindID AS TTest: ID

LOCAL F AS TTest
LOCAL G AS TTest
FOREACH G IN MeineListe[]
DEBUG "Eintrag ID "+G.ID +"\n"
IF G.ID=ID THEN F=G ;BREAK //mal mit und ohne Break angucken
NEXT

RETURN F

ENDFUNCTION

kanonet

Ganz einfach:
Code (glbasic) Select
IF G.ID=ID THEN F=G ;BREAK
Ist identisch zu:
Code (glbasic) Select
IF G.ID=ID THEN F=G
BREAK

; bedeutet neue Zeile, auch hinter einem THEN.

Du musst es also so schreiben:
Code (glbasic) Select
IF G.ID=ID
  F=G
  BREAK
ENDIF
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Markus

Hm,ja danke muß ich dann ja wohl.
Ich dachte das wär das Trennzeichen für Befehle wie üblich :