Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
20. Nov 2014
Nein.
Delphi-Strings sind längengezählt ... die enden da, wo es die längenangabe sagt.
Sie haben aber, aus Kompatibilitätsgründen, zwei #0 hinter dem letzten Zeichen, damit man die Strings ganz einfach nach PChar casten kann.
Dennoch erlaubt der Delphi-String prinzipiell auch das #0 mitten im String.
ShortString's haben kein #0 am Ende, drum geht es dort ausschließlich nach dem...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
20. Nov 2014
Ja, wenn du das Length auf den enthaltenen Text und nicht auf das Array anwendest.
* Array nach String kopieren/casten und Length darüber
* oder Zeiger (PChar) auf Array und dann mit Length (impliziter Cast nach String) oder lstrlen (Windows.pas)
Geht alles aber nur, wenn die Chars nach den Befüllten #0 sind (zumindestens das Erste von den Leeren).