Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TStringList bearbeiten (https://www.delphipraxis.net/139539-tstringlist-bearbeiten.html)

0nk3lz 31. Aug 2009 01:29


TStringList bearbeiten
 
Hey Leute, mal wieder eine Frage von mir...^^
Ich lade eine Textdatei in eine StringList, ersetze mit StringReplace einige Teile des Inhalts und will nun noch vor jede Zeile ein bestimmtes Wort haben.

Beispiel:

Vorher:
Code:
String
String
String
Nachher:
Code:
Asd String
Asd String
Asd String
Also vor jede Zeile soll ein und dasselbe Wort eingefügt werden.

Kann man das realisieren, wenn ja wie?


MfG 0nk3lz

fishbrain 31. Aug 2009 01:40

Re: TStringList bearbeiten
 
Delphi-Quellcode:
var
  s : Tstringlist;
  I: Integer;
begin
  s := TStringlist.Create;
  for I := 0 to s.Count - 1 do
  begin
    s[i] := 'asd'+ s[i];
  end;
end;

0nk3lz 31. Aug 2009 01:43

Re: TStringList bearbeiten
 
Danke, funktioniert!!!
Also Schwachstelle Nummer 1 sind bei mir echt die Schleifen...
Da muss ich nochmal ein bisschen lernen... :)

himitsu 31. Aug 2009 07:38

Re: TStringList bearbeiten
 
theoretisch ginge auch etwas in dieser Richtung:
Delphi-Quellcode:
sl.Text := 'asd' + StringReplace(sl.Text, sLineBreak, sLineBreak + 'asd', [rfReplaceAll]);
// aka
sl.Text := 'asd' + StringReplace(sl.Text, #13#10, #13#10 + 'asd', [rfReplaceAll]);
(eventuell müßte dann noch die letzte Zeile gelöscht werden ... ich min mir grad nicht sich ob Text immer mit CRLF endet und somit eine Zeile dazukäme)

Bei einer normalen Stringlist wäre dieses aber langsamer unr würde mehr Speicher verbrauchen,
da die TStringList/TStrings die Strings einzelnen verwaltet und diese erst zu einem Text zusammengesetzt und dann wieder getrennt werden müssen.

Wärend aber bei einem TMemo (Lines ala virtueller TStringList) die Strings im Memo alle zusammen sind
und somit die einzelne Bearbeitung der Strings wiederum langsamer wäre, da dort ja erst jeder einzel String aus dem Text herausgelöst und danach dort wieder eingefügt werden müßte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr.

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