Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: StrLen / SizeOf mag Chr(0) nicht?

  Alt 3. Aug 2008, 10:04
Hallo,

mit dem 0-Zeichen ist das so eine Sache. Eigentlich sollten Pascal-Strings alle Zeichen enthalten können, da sie ja eine Längeninformationen mit sich führen. Deshalb sollte auch die von xaromz angesprochene Funktion Length() in diesem Fall das richtige Ergebnis liefern. Allerdings würde ich mich nicht darauf verlassen, dass alle RTL-/VCL-Routinen die 0 richtig interpretieren:

Delphi-Quellcode:
var
  s : string;
  n : Integer;
  v : Double;
begin
  s := '123,456'#0'Hallo Welt';

  n := Length(s); // liefert den Wert 18
  v := StrToFloat(s); // sollte einen Fehler auslösen, tut das aber nicht...
end;
Um allen Schwierigkeiten bei möglichen Konvertierungen aus dem Weg zu gehen, würde ich also auch zu einem anderen Trenner raten. In der Wikipedia findet man mögliche Kandidaten, zum Beispiel die Zeichen 28-31.

Gruß Hawkeye
  Mit Zitat antworten Zitat