Zitat von
ltsavar:
ich hatte das halt so probiert:
assignfile(f,Edit1.text);
reset(f);
read(f,readst);
.
.
.
und das geht ja so nicht...
Gruß Ingo
Hab's zwar selbst nicht getestet, wüsste aber nicht, warum das nicht funktionieren sollte.
Ich hätte nämlich genau das getan, in etwas so :
Delphi-Quellcode:
procedure TForm1.CopyTextFile(const InFName,OutFName,findstr,insertstr : string);
var
F1,
F2: TextFile;
Ch: Char;
tmpstr : string;
found : boolean;
begin
AssignFile(F1, InFName);
AssignFile(F2, OutFName);
found := false;
tmpstr := '';
try
Reset(F1);
Rewrite(F2);
while not Eof(F1) do
begin
// einlesen eines Chars
Read(F1, Ch);
if length(tmpstr) < length(findstr) then
tmpstr := tmpstr + Ch
else
if tmpstr = findstr then
found := true
else
tmpstr := copy(tmpstr,2,length(tmpstr)-1) + ch;
//einfügen des textes
if found then
begin
Write(F2,insertstr);
found := false;
tmpstr := '';
end;
// Char in Resultatdatei schreiben
Write(F2, Ch);
end;
finally
CloseFile(F2);
CloseFile(F1);
end;
end;
Aufruf wie folgt :
CopyTextFile('Ausgangsdateiname','Ergebnissdateiname','zu findende String','hinzuzufügende String');
Da hier jedes Zeichen separat eingelsen und wieder geschrieben wird, sollte die Zeilenlänge eigentlich keine Rolle spielen. (Wie gesagt, nicht getestet.)
Gruss Lutz