Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   for- Schleife : Anfangsvariable aktualisieren (https://www.delphipraxis.net/137215-schleife-anfangsvariable-aktualisieren.html)

aaaaaaaaaa_10 16. Jul 2009 09:43


for- Schleife : Anfangsvariable aktualisieren
 
Delphi-Quellcode:
    k := 10;
    for j := k to Length(head) do
     begin
       ...
      k := k + 5;
     end;
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?

mkinzler 16. Jul 2009 09:44

Re: for- Schleife : Anfangsvariable aktualisieren
 
Statt For- eine While- oder Repeat-Schleife verwenden oder ein
Delphi-Quellcode:
break;
( weniger Schön)

aaaaaaaaaa_10 16. Jul 2009 09:47

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.

mkinzler 16. Jul 2009 09:49

Re: for- Schleife : Anfangsvariable aktualisieren
 
Man sollte eine Laufvariable nicht verändern!

aaaaaaaaaa_10 16. Jul 2009 09:55

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

mkinzler 16. Jul 2009 09:56

Re: for- Schleife : Anfangsvariable aktualisieren
 
Verwende Pos()/PosEx() um gezielt zu suchen

aaaaaaaaaa_10 16. Jul 2009 09:57

Re: for- Schleife : Anfangsvariable aktualisieren
 
Delphi-Quellcode:
 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;
Dat tue ich bereits

mkinzler 16. Jul 2009 09:58

Re: for- Schleife : Anfangsvariable aktualisieren
 
Zu was brauchst du dann die Schleife?

aaaaaaaaaa_10 16. Jul 2009 10:01

Re: for- Schleife : Anfangsvariable aktualisieren
 
Ohne Schleife würde er doch nur das erste vorkommen von #9 und '[' erkennen und den rest nicht

Stormy 16. Jul 2009 10:02

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:
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);
Edit: Der Post bezieht sich auf dene Frage bei #3


Gruß
Stormy


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz