Hallo !
Ich schreibe derzeit an einem Programm, dass anhand einer
Paradox-Datenbank ein
SQL-Scrip für den Import in ein anderes Programm erzeugen soll.
An wenigen Stellen werden aus der
Paradox-
DB Steuerzeichen aus einem (vermutlich defekten) Memo-Feld importiert. Ich habe versucht diese Steuerzeichen ( [NUL], [SI], [DC4], [EOT] ... ) aus dem Text auszufiltern.
Leider ohne großen Erfolg.
Zunächst habe ich versucht, alle Steuerzeichen mit Hilfe einer Funktion herauszufiltern :
Delphi-Quellcode:
function TMain.CleanText(S: String): String;
var i:Integer;
begin
for i := 0 to 31
do if (i<>10) AND (i<>13)
then S:=StringReplace(S,CHR(i),'',[rfReplaceAll]);
Result := S;
End;
Auch der direkte Aufruf mit
Delphi-Quellcode:
{...}
S:=StringReplace(S,CHAR(#0),'',[rfReplaceAll]);
S:=StringReplace(S,CHAR(#4),'',[rfReplaceAll]);
S:=StringReplace(S,CHAR(#20),'',[rfReplaceAll]);
{...}
bzw.
Delphi-Quellcode:
{...}
S:=StringReplace(S,#0,'',[rfReplaceAll]);
S:=StringReplace(S,#4,'',[rfReplaceAll]);
S:=StringReplace(S,#20,'',[rfReplaceAll]);
{...}
erbrachte nicht das gewünschte Ergebnis.
Einzig der Trim-Befehl brachte einen kleinen Erfolg. Dieser entfernte die Steuerzeichen, die sich am Anfang oder Ende des Strings befanden.
Befinden sich jedoch Steuerzeichen inmitten des Strings, so werden diese nicht entfernt.
Hat jemand eine Idee, wie ich ALLE Steuerzeichen entfernen kann ?
Gruß
Guido R.