Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   For-Schleife für eine Stringliste mit Insert in der Schleife (https://www.delphipraxis.net/62270-schleife-fuer-eine-stringliste-mit-insert-der-schleife.html)

Alex_ITA01 2. Feb 2006 09:15

Re: For-Schleife für eine Stringliste mit Insert in der Schl
 
komisch, ich habe aber nie eine Fehlermeldung bekommen...
Aber trotzdem danke für den Tip. Ist klar, dass es nach einer Listenindex-Exception riecht.
Werde das Beispiel mal testen.Danke

Alex_ITA01 2. Feb 2006 09:19

Re: For-Schleife für eine Stringliste mit Insert in der Schl
 
Das obrige Beispiel funktioniert. Danke!!!
Aber eine Frage, greifst du damit nicht auch auf ein vielleicht nicht vorhandes Listenelement zu?

Delphi-Quellcode:
           if (Pos('NETWORK', File_Inhalt.Strings[i]) > 0) and
              (Pos('TITLE', File_Inhalt.Strings[i + 1]) > 0) and
              (Pos('=', File_Inhalt.Strings[i + 1]) > 0) then
MFG Alex

Arthur Hoornweg 2. Feb 2006 09:33

Re: For-Schleife für eine Stringliste mit Insert in der Schl
 
Alles viel zu kompliziert. Ich lasse FOR Schleifen, die in Listen etwas einfügen oder aus Listen etwas entfernen, immer rückwärts ablaufen. Das macht das Ganze Prozedere tausendmal simpler.


Beispie1 1:

Delphi-Quellcode:
For i:=StringListe.Count-1 DOWNTO 0 do
Begin
 if StringListe[i]='Weg damit' then
     Stringliste.Delete(i);
End;
Beispie1 2:

Delphi-Quellcode:
For i:=StringListe.Count-1 DOWNTO 0 do
Begin
 if StringListe[i]='Untereintrag erstellen' then
     Stringliste.insert(i+1,'Dies ist ein Untereintrag');
End;
Beispiel 3:

Delphi-Quellcode:
VAR Q:string='test X test X test X test X';
    i:integer;
BEGIN
 For i:= length(Q) DOWNTO 0 do
   if Q[i]='X' then delete(Q,i,1);
END;
[edit=alcaeus]Code-Tags eingefuegt. Mfg, alcaeus[/edit]

NicoDE 2. Feb 2006 12:53

Re: For-Schleife für eine Stringliste mit Insert in der Schl
 
Zitat:

Zitat von Alex_ITA01
Aber eine Frage, greifst du damit nicht auch auf ein vielleicht nicht vorhandes Listenelement zu?

Nö, weil die While-Bedingung i < Count - 1 lautet (und auf i+2 wird auch nur zugegriffen falls es vorhanden ist).


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.
Seite 2 von 2     12   

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