Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

For Next Schleife und End if in VB

Dino30002 / 15 Antworten / Flachansicht Nickles

Hi,


ich habe ein Problem mit einer For Next-Schleife. Hier ist der Code:


For zaehler = 2 To TextBoxLineCount(Text1)
zeile = zeile + 1
If StrCount(TextBoxLine(Text1, zeile), "Begiena:") = 1 Then
Next zaehler
End if
[weiterer Code]
Next zaehler


Bei der Ausführung wird der Fehler "Next ohne For" ausgelöst und es wird eine Markierung auf das erste Next gesetzt. In der VB Hilfe steht, dass dieser Fehler unter anderem durch eine falsche If-End if Struktur innerhalb der Schleife ausgelöst werden kann. Das scheint bei meinem Code auch der Fall zu sein, aber ich habe ja gar keine Möglichkeit gleichzeitig die If-Schleife zu beenden und die Schleife neu aufzurufen, oder? Denn wenn ich das End if vor das Next setzen würde, wäre das If-End if unsinnig.


MfG,
Dino

bei Antwort benachrichtigen
Neues Problem Dino30002
Neues Problem Borlander
Borlander Dino30002 „So ganz hab ich das Xor noch nicht durchschaut, aber ich glaube das funktioniert...“
Optionen
So ganz hab ich das Xor noch nicht durchschaut, aber ich glaube das funktioniert nur mit 2 Bedingungen, oder?
Cond1 XOR Cond2 gibt true zurück wenn genau eine der beiden Bedingungen wahr ist, sonst false.
Genau wie bei AND und OR kannst Du auch mehr als zwei Bedingung verwenden: Cond1 XOR Cond2 XOR Cond3, der Ausdruck wird dabei von links ausgewertet also (Cond1 XOR Cond2) XOR Cond3

Ich glaube nicht, dass dir diese einzelne Zeile helfen wird zu erkennen warum der Code nicht funktioniert, daher kopiere ich mal die ganze Sub hier rein.
Hab mit VB sonst eigentlich gar nicht am Hut, bin also mit den Syntaktischen eigenheiten nicht vertraut - wenn Du noch die genaue Fehlerzeile+Meldung postest wäre es viel einfacher das Problem zu finden...

Sorry dafür, dass der Code nicht eingerückt ist, ich weiß nicht so recht wie da die Regeln sind.
So lange Du alleine Programmierst kannst Du den Code nach eigenem Geschmack einrücken, untergeordnete Blöcke (z.B. zwischen FOR..NEXT oder in einem IF-Konstrukt werden i.D.r. 2 Leerzeichen eingerückt, wenn Du dann noch auf GOTOs verzichtest ist der Programmablauf mehr oder weniger deutlich anhand der Einrückungen erkennbar...)


CU Borlander
bei Antwort benachrichtigen