![]() |
for- Schleife : Anfangsvariable aktualisieren
Delphi-Quellcode:
Wie kann ich verhindern, dass j ab 10 alle Werte durchläuft. Ich möchte, wenn ein bestimmtes Ereignis eintritt erst bei z.b. j = 6 weiter machen und 2-5 auslassen. Ist das irgendwie möglich?
k := 10;
for j := k to Length(head) do begin ... k := k + 5; end; |
Re: for- Schleife : Anfangsvariable aktualisieren
Statt For- eine While- oder Repeat-Schleife verwenden oder ein
Delphi-Quellcode:
( weniger Schön)
break;
|
Re: for- Schleife : Anfangsvariable aktualisieren
Es geht darum, dass ich einen String durchlaufen möchte und immer wenn an einer stelle etwas bestimmtes gefunden wurde, erst ab der drittnächsten weitergesucht werden soll.
|
Re: for- Schleife : Anfangsvariable aktualisieren
Man sollte eine Laufvariable nicht verändern!
|
Re: for- Schleife : Anfangsvariable aktualisieren
Aber wie realisiere ich es denn? Ich fange vorne im String an. Dann suche ich das erste #9 und das darauf folgende '[', kopiere das, was dazwischen steht in eine stringvariable und wollte ab der Stelle wo '[' auftrat +1 weitermachen
|
Re: for- Schleife : Anfangsvariable aktualisieren
Verwende Pos()/PosEx() um gezielt zu suchen
|
Re: for- Schleife : Anfangsvariable aktualisieren
Delphi-Quellcode:
Dat tue ich bereits
for j := 10 to Length(head) do
begin TabPos1 := posEx(#9,head,j); if TabPos1 <> 0 then begin TabPos2 := posEx('[',head,TabPos1+1); ShowMessage(IntToStr(TabPos2)); if TabPos2 <> 0 then begin Length1 := TabPos2-TabPos1; MWBeztemp := Copy(head, TabPos1,Length1); MWBez := MWBez+#9+MWBeztemp; end; end; end; |
Re: for- Schleife : Anfangsvariable aktualisieren
Zu was brauchst du dann die Schleife?
|
Re: for- Schleife : Anfangsvariable aktualisieren
Ohne Schleife würde er doch nur das erste vorkommen von #9 und '[' erkennen und den rest nicht
|
Re: for- Schleife : Anfangsvariable aktualisieren
Öhm wo ist das Problem?
Setze doch eine Variable die sobald dein String gefunden wurde auf 3 gesetzt wird und am anfang der For-Schleife einen If-Block der das abfragt.
Delphi-Quellcode:
Edit: Der Post bezieht sich auf dene Frage bei #3
k := 10;
x := 0; for j := k to Length(head) do if x = 0 then begin ... k := k + 5; if head = 'ab hier übersrpinge die nächsten 3 strings' then x := 4; end else dec(x); Gruß Stormy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz