Oder meinst du dass du, aus welchen Gründen auch immer, Strings (z.B. '#1234') schon vorliegen hast und diese nun zu Chars (z.B. #1234) machen möchtest?
Genau da dürfte das Problem liegen:
Im Array steht '#1234', ersetzt werden soll aber #1234. Gesucht wird eine Methode, um aus '#1234' #1234 zu machen.
Einfacher wäre es, direkt ein Array mit Steuerzeichen zu machen, statt eine Array mit Zeichenfolgen, die so aussehen, wie Steuerzeichen im Delphiquelltext, wenn man deren mit # beginnenden Pedant nutzt.
Statt #1234 müsste doch auch Chr(1234) gehen, oder irre ich mich da?
In dem Fall könnte auch ein Array of Word (oder sowas) gehen und in der Ersätzroutine könnte es dann so aussehen:
Delphi-Quellcode:
const
sZeichen : Array [1..3] of Word = (128064, 128125, 128148);
sText := StringReplace(sText, Chr(128064), '', [rfReplaceAll, rfIgnoreCase]);
(Bitte nicht hauen, wenn ich mich da jetzt irre
)
Ok, wenn das Ganze nun nicht im Quelltext sein soll, dann hilft das Array so ja auch nicht.
Also z. B. eine Datei, die in jeder Zeile eine "Zahl" enthält, also
Die Datei einlesen und dann zeilenweise abarbeiten.
Sinngemäß ungefähr sowas?
Delphi-Quellcode:
var
sl : TStringList;
i : Integer;
ch : WideChar;
begin
sl := TStringList.Create;
sl.LoadFromFile('Steuerzeichen.cfg');
for i := 0 to sl.Count - 1 do begin
ch := WideChar(StrToInt(sl[i]));
sText := StringReplace(sText, ch, '', [rfReplaceAll, rfIgnoreCase]);
end;
sl.Free;
end;
Edit: Geht das bei aktuellen Delphis mit WideChar?
Laut Delphi-7-Hilfe handelt es sich um: "WideChar-Werte stellen Zeichen mit einer Länge von mehr als einem Byte dar."