Zitat von
3_of_8:
Soweit ich weiß sind Delphi-Strings nullterminierte Char-Arrays, das heißt, an der Stelle, wo ein #0 ist, ist für Delphi der String zu Ende.
nein, ist er nicht.
Delphi-Quellcode:
S := '123'#0'456';
If S = '' Then ; << mach hier mal einen Breakpoint und schau was in S drin ist ;)
DelphiStrings haben eine Längenangabe und da nur diese ausgewertet wird, is eine #0 im String völlig irrelevant.
Bei Umwandlungen in PChar, wird die Längenangabe nicht beachtet, aber dafür dann die #0.
@Zise: es wäre dennoch einfacher nicht die #0 zu verwenden ... #1..#7, #9, #11, #12 oder #14..#31 bieten sich doch auch an?
> Steuerzeichen (#0..#31) - CR, LF, Tab (#8 #10 #13)
Dann kannst du alles mögliche zum Einlesen verwenden und auch die bekannten Funktionen zum String-Zerlegen (ziehe CodeLib) könnte z.B. mit dem Zeichen #1 wunderschön genutzt werden.