AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedur in Funktion umwandeln?

Ein Thema von Opa Knack · begonnen am 8. Feb 2005 · letzter Beitrag vom 9. Feb 2005
 
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#1

Prozedur in Funktion umwandeln?

  Alt 8. Feb 2005, 12:31
Hallo,

ich möchte mit folgendem Code mehrere Dateien nach einem Suchstring durchforsten und bei Vorhandensein eben diesen ersetzen:

Delphi-Quellcode:
procedure FileReplaceString(const FileName, searchstring, replacestring: string);
var
  fs: TFileStream;
  S: string;
begin
  fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
  try
    SetLength(S, fs.Size);
    fs.ReadBuffer(S[1], fs.Size);
  finally
    fs.Free;
  end;
  S := StringReplace(S, SearchString, replaceString, [rfReplaceAll, rfIgnoreCase]);
  fs := TFileStream.Create(FileName, fmCreate);
  try
    fs.WriteBuffer(S[1], Length(S));
  finally
    fs.Free;
  end;
end;
Das klappt auch sehr gut. Jetzt habe ich nur ein Problem: Ich spreche diese Prozedur mit einer Schleife an, die alle in einem Memofeld vorhandenen Dateinamen abklappert:

Delphi-Quellcode:
for i := 0 to (Memo1.Lines.Count - 1) do
  FileReplaceString(Memo1.Lines[i],'Text 1','Text 2');
Auch das klappt noch.

Nun möchte ich aber nach Abhandlung dieser Schleife erfahren, wie häufig ein Ersetzen durchgeführt wurde, und wie häufig der Text nicht gefunden wurde. Und genau da bin ich mit meinem Latein am Ende. Da die Prozedur keine Funktion ist und ich keinen Rückgabewert erhalte, wird's nicht unbedingt einfacher, und ich habe im Moment keine Ahnung, wie ich daraus eine Funktion machen könnte.

Kann mir jemand einen Tipp geben?

Danke
Opa
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 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 by Thomas Breitkreuz