Bernhard Geyer |
5. Mär 2005 11:23 |
Re: Runtime Error bei meiner Funktion
Zitat:
Zitat von alcaeus
Zitat:
Zitat von Bernhard Geyer
Auch weil Delphi ein Mischmasch zwischen 0 und 1-Basierenden Elementen hat (String -> 1-Basierend, dynamisches Array -> 0-Basierend, ...)
|
Ist zwar OT, aber nein. Strings (jedenfalls ShortStrings mit bis zu 255 Zeichen) sind auch 0-basiert. Auf das 0te Element kannst du nur nicht zugreifen, das ist das Laengenbyte. Die neuen Strings mit Kapazitaeten von bis zu 2GB arbeiten etwas komplizierter, aber ShortStrings sind definitiv 0-basiert.
Greetz
alcaeus
|
Bin nicht deiner Meinung. Das erste Element in einem String wird mit [1] angesprochen. Das das 0te Element in einem ShortString die Längenangabe ist, ist für den normalen Entwickler irrelevant, da man die Länge mit Length(MeinString) abprüfen sollte. Und das bei einem "normalen" String noch vor dem ersten Zeichen 8 Byte für Längen und Referenzzähler verbraten werden kann man zwar wissen, ist aber nur relevant wenn man C-Syntaxbasierte (PChar/PWideChar) Funktionen (Win-API, ...) verwendet.
|