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]