Thema: Delphi String bearbeiten

Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#8

Re: String bearbeiten

  Alt 24. Mär 2004, 16:23
Mit "String[Index]" greifst Du nunmal auf einen einzelnen Char aus einer Kette zu, wenn Du nun eine Zuweisung der form "String[Index] :=" machst, erwartet Delphi auf der rechten Seite auch einen Char. Deine zwei Hochkommas, sind aber kein Char, sondern ein leerer String - daher knallt es.
wenn Du nicht delete nutzen möchtes, kannst Du sowas basteln:
Delphi-Quellcode:
function CleanUpString(Value : String;
                       SearchChars : Array of Char;
                       ReplaceChars: Array of Char):String;
var i,j : Integer;
    WasReplaced : Boolean;
begin
  for i:=1 to length(Value) do begin
    WasReplaced := False;
    for j := 0 to High(SearchChars) do begin
      if Value[i] = SearchChars[j] then begin
        WasReplaced := True;
        if ReplaceChars[j] <> #0 then begin
          Result := Result+ReplaceChars[j];
          Break;
        end;
      end;
    end; // for j
    if not WasReplaced then Result := Result+Value[i];
  end; //for i
end;
Anwendung:
Delphi-Quellcode:
var MyString : String;
begin
  MyString := 'Das ist ein Test-String';
  MyString := CleanUpString(MyString,[' ','-'],['_',#0]);
Gruß

[Edit]immer wenn man zu hastig ist...[/Edit]
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat