Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#21

Re: length(s) = 0 ODER s = '' ?

  Alt 13. Mär 2006, 12:26
Nein, wieso sollte? Das Längenbyte an Index 0 bei einem String wird nur noch emuliert und der Zugriff darauf verboten. Bei einem ShortString kann man aber gerne noch darin rumpfuschen.

SetLength(s, 1); erzeugt einen String mit einer Länge von 1 - d.h. der Index 1 ist gültig und somit nutzbar. Das Längenbyte an Index 0 wird simuliert und existiert ausserhalb der Regel und ist eh nicht von SetLength() betroffen. SetLength() bei Strings setzt direkt die Länge und da Strings 1-basierend sind, ist es ein String der Länge von 1 Zeichen.

Im Gegensatz zur Nutzung von dynamischen Array's die tatsächlich immer nullbasierend sind.
  Mit Zitat antworten Zitat