Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#11

AW: Zeichen in String ersetzen

  Alt 20. Dez 2016, 20:27
Falls es in D5 noch kein ReplaceStr, AnsiReplaceText, StringReplace oder dergleichen gab, schreib dir einfach eine eigene.

Oder such nach FastCode, da solltest Du auch das eine oder andere finden.

Gruß
K-H
Oder das hier. Benutze ich schon seit Jahren und hatte noch nie Probleme.
Delphi-Quellcode:
function StringReplaceEx(const aString, FromStr, ToStr: string; bCaseSensitive: Boolean = False): string;
var
 i: Integer;
 aStringA, aFromStrA, aToStrA: string;
begin
 aStringA := aString;
 aFromStrA := FromStr;
 aToStrA := ToStr;

 if FromStr = aStringA then
  begin
   Result := aStringA;
   Exit;
  end;

 Result := '';

 if not bCaseSensitive then
  i := Pos(UpperCase(aFromStrA), AnsiUpperCase(aStringA))
 else
  i := Pos(aFromStrA, aStringA);

 while i > 0 do
  begin
   if i > 1 then
    Result := Result + Copy(aStringA, 1, i - 1);

   Result := Result + aToStrA;

   Delete(aStringA, 1, i + Length(aFromStrA) - 1);

   if not bCaseSensitive then
    i := Pos(UpperCase(aFromStrA), AnsiUpperCase(aStringA))
   else
    i := Pos(aFromStrA, aStringA);
  end;

 Result := Result + aStringA;

// Aufruf z.B. in einem Button
showmessage( StringReplaceEx('C++ ist toll', 'C++', 'Delphi') );
  Mit Zitat antworten Zitat