Ich will mich erstmal auf den Bezeichner STRING beschränken.
Ist folgendes korrekt:
1. Eine Variable vom Typ String (VAR abc : STRING) kann jede Menge Zeichen aufnehmen (besser gesagt, jede Menge der für diese Zeichen/Tastendrücke erforderlichen Bytes, jedenfalls mehr als 65000, die genaue Zahl scheint mir in der Praxis wenig relevant), vorausgesetzt der Compilerschalter {$H-} wird nicht verwendet.
2. Wird dieser Schalter verwendet, dann ist der Typ String gleich dem Typen ShortString und kann maximal 255 Bytes für Zeichen/Tastendrücke aufnehmen.
3. Soll die Stringlänge von vornherein begrenzt werden, z.B. auf: abc : STRING[10] dann ist maximal STRING[255] möglich. Die Maßeinheit der Zahlen ist BYTE.
Gehe ich recht in der Annahme, dass die Doku [1] an dieser Stelle nicht korrekt ist:
Code: Alles auswählen
{$H-}
Type
NameString = String[10];
StreetString = String;
NameString can contain a maximum of 10 characters. While StreetString can contain up to 255 characters.
[1] http://www.freepascal.org/docs-html/ref ... 350003.2.3
Grüße, guennid