Thema: Delphi StrToChar???????

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#12
  Alt 17. Jan 2003, 17:18
@Chakotay1308: Ich muss Dich erst einmal enttäuschen. Du hast da ein arges Verstädnisproblem.

Wenn ein String so definiert wäre
Delphi-Quellcode:
type
  String = array[0..255] of char;
, dann könntest Du immer noch auf die 100. Stelle mit StringName[100] zugreifen. Ohne Problem. Zusätzlich: Ein Char ist ein Byte groß, dass heisst, ess kann eine beliebigen Wert zwischen #0 und einschließlich #255 einnehmen.

Nun zum "AS-IS"
Ein String ist ein Pointer auf einen Block mit folgender Definition
Delphi-Quellcode:
type
  PStrRec = ^StrRec;
  StrRec = packed record
    refCnt: Longint;
    length: Longint;
  end;
Das dahinter die eigentlichen Daten stehen, versteckt Delphi vor uns, wie freundlich

Der ShortString hat keine direkte Definition, ist von der Logik aber wie folgt aufgebaut:
Delphi-Quellcode:
type
  // ObereGrenze liegt im Bereich von 1..255 (Standard=255)
  ShortString: array[0..ObereGrenze] of AnsiChar;
Du kannst Dir eigene Shortstrings definieren. Ein Datentyp ShortString der Länge 56 Zeichen wäre
Delphi-Quellcode:
type
  MyShortString56 = string[56];
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat