Thema: Delphi seek in textdateien

Einzelnen Beitrag anzeigen

Benutzerbild von lume96
lume96

Registriert seit: 14. Sep 2003
Ort: Rognac/Marseille - Frankreich
128 Beiträge
 
Delphi 7 Professional
 
#13

Re: seek in textdateien

  Alt 16. Jun 2004, 14:00
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
Lutz Meyer
  Mit Zitat antworten Zitat