Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - STRINGS mit fester Länge


Maxi - Mo 24.05.04 17:50
Titel: STRINGS mit fester Länge
Hi!

Wenn ich das hier habe:

var s : STRING[6];


Kann ich dort 5 oder 6 ZEichen drinnen speichern? Oder anders: Zählt das NullByte am Ende mit?


matze - Mo 24.05.04 18:14

was hindert dich daran es auszuprobieren ?

PS: es sind alle 6 !


Delete - Mo 24.05.04 18:19
Titel: Re: STRINGS mit fester Länge
Maxi hat folgendes geschrieben:
Oder anders: Zählt das NullByte am Ende mit?

Ein String hat kein Null-Byte oder Null-Char am Ende.


MSCH - Mo 24.05.04 19:26

hmmm ein ShortString hat keine #0, ein String schon.
grez
msch


Maxi - Mo 24.05.04 19:27

also, wenn ein String nun ein Nullbyte hat, dann belegt

s:STRING[6] also 7 Byte, ja?


MSCH - Mo 24.05.04 19:33

nein.

ShortString= String[5] entspricht
string[0]=Längenbyte (daher die Begrenzung auf 255 Zeichen)
String[1..5] = Charakter

String = Max. 2 GB langer String mit #0 terminiert.
String[0]..[n]=Char , [n+1]=#0

grez
msch


Maxi - Mo 24.05.04 19:43

aber STRING[6] wäre doch dann so:

[0..6] Daten
[7] Nullbyte
Wärn doch zusammen 8 Byte...
oder hab ich da was falsch verstanden?

Wieviel Byte belegt denn nun STRING[6]?


IngoD7 - Mo 24.05.04 19:55

MSCH hat folgendes geschrieben:

String = Max. 2 GB langer String mit #0 terminiert.
String[0]..[n]=Char , [n+1]=#0


Auch ein String hat sein erstes Zeichen in String[1].

@Maxi

string[6] hat 6 Zeichen, es belegt aber 7 Bytes.


Maxi - Mo 24.05.04 19:58

OK, danke, das ist ja dann alles was ich wissen möchte :)


Motzi - Mo 24.05.04 20:13

Und zur allgemeinen Verwirrung.. ;)
Mein String-Tutorial: http://www.manuel-poeter.de