![]() |
Stringreplace aus Textinhalt
Hallo,
ich möchte eine fehlerhafte Liste korrigieren. Dazu habe ich eine Delphi-Software, in der nur ich alle Änderungen am Inhalt der Liste vornehmen kann. Damit auch andere Änderungen vornehmen können, dachte ich, ich lagere den Text in eine Datei aus.
Code:
Die Liste:
procedure TForm1.Button1Click(Sender: TObject);
var slist: TStringlist; liste: String; i: integer; begin slist := TStringlist.create; liste := 'liste.txt'; slist.LoadFromFile(liste); for i := 0 to slist.Count -1 do begin slist.Strings[i] := StringReplace(slist.Text , liste , [rfReplaceAll]); end; slist.SaveToFile(liste); slist.Free; end;
Code:
Das Funktioniert aber nicht.
'Mustermann;Max;München','Mustermann;Max;Hamburg'
Fehlermeldung: Keine überladene Version von StringReplace. Kann mir jemand Helfen? VG, Julia |
AW: Stringreplace aus Textinhalt
Ich hab hier gerade kein Delphi, aber du brauchst für StringReplace 4 Parameter: was soll ersetzt werden, womit soll ersetzt werden, worin soll ersetzt werden und eben die Flags - du hast nur 3 Parameter.
|
AW: Stringreplace aus Textinhalt
Moin...8-)
![]() Zitat:
Zitat:
PS: Ressourcen Schutzblöcke sind enorm wichtig! :warn: Zitat:
|
AW: Stringreplace aus Textinhalt
Es geht auch mit 3 oder 2 :stupid:
![]() ![]() ![]() ![]() (nur nicht wenn man die ReplaceFlags verwenden will) Aber insgesamt ergibt es irgendwie keinen wirklichen Sinn. -> Die Liste in sich selbst ersetzen, mit ihrem eigenem Dateinamen. Und zusätzlich der relative Pfad zur Datei. (sowas macht man nicht, außer die Anwendung soll Suizidgedanken bekommen) |
AW: Stringreplace aus Textinhalt
Zitat:
Mit zwei Dateien zu arbeiten bringt so nichts und wäre zu fehleranfällig. Jetzt muss ich mir was anderes überlegen.
Code:
Hintergrund:
procedure TForm1.Button1Click(Sender: TObject);
var slist: TStringlist; liste_alt: String; liste_neu: String; i: integer; begin slist := TStringlist.create; liste_alt := 'c:\users\Julia\documents\embarcadero\studio\projekte\stringreplace\win32\debug\liste_alt.txt'; liste_neu := 'c:\users\Julia\documents\embarcadero\studio\projekte\stringreplace\win32\debug\liste_neu.txt'; slist.LoadFromFile(liste_alt); for i := 0 to slist.Count -1 do begin slist.text := StringReplace(slist.Text , liste_alt , liste_neu , [rfReplaceAll]); end; slist.SaveToFile(liste_neu); slist.Free; end; In der Firma arbeiten die meisten im Homeoffice. Andere an Standorten. Die Liste, die ich zum Weiterverarbeiten bekomme, enthält Fehler, wo der Mitarbeiter gerade arbeitet. Dazu kommen spontane Wechsel zwischen Homeoffice und Standort. Dazu kommen noch andere Daten, die weiterverarbeitet werden müssen, aber die sind Konstant. Ich weise erst mal jedem Mitarbeiter das Homeoffice (ca. 95%) zu und mit StringReplace ändere ich dann von Homeoffice/Stadt oder Stadt/Homeoffice. Das funktioniert auch soweit, nur muss ich halt das Programm bei Änderungen neu Kompilieren. Bin ich krank oder im Urlaub, greifen die Kolleginnen wieder zu Ausdrucken und Excel-Dateien (So, wie sie es gelernt haben und können), um die Daten abzugleichen. (Wie langsam doch so ein Tag vergeht :-( Deswegen wollte ich eine Liste mit Namen und Standorten aus dem Programm auslagern. Man ändert schnell den Standort und der Rest wird wie sonst weiterverarbeitet. Fertig. Das Program steht. Denn der Arbeitsaufwand, ob ich die Stadt in Delphi oder im Text ändere, ist gleich. Ich spare mir halt das Kompilieren und die Kolleginnen brauchen mich nicht unbedingt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 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