Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sehr langer String mit festgelegter Länge (https://www.delphipraxis.net/32359-sehr-langer-string-mit-festgelegter-laenge.html)

jfheins 22. Okt 2004 09:01


Sehr langer String mit festgelegter Länge
 
Ich habe einen Record mit einem String-Feld.
Es ist unbedingt erforderlich, dass die Länge des Strings festgelegt wird,
da es sonst (der Record wird über Internet versendet) zu einer AV beim Empfänger kommt.

Ich müsste also den String auf z.B. 2000 Zeichen festlegen,
wenn ich aber
Delphi-Quellcode:
Msg: String[1000];
schreibe, kommt immmer der Fehler, dass ein String-Literal nur 255 Zeichen haben kann.

Somit wären nur Nachrichten mit 255 Zeichen oder weniger möglich ...

(Wenn jemand eine Idee hat, wie man einen String mit dynamischer Länge mit ReadBuffer lesen kann: Bitte Posten ...)

sakura 22. Okt 2004 09:04

Re: Sehr langer String mit festgelegter Länge
 
Alle Strings, welche so definiert werden, wie Du es möchtest, nennt man ShortStrings, diese haben, wie Du schon erfahren hast, eine maximale Länge von 255 Zeichen, zzgl. einem Byte für die Längenangabe. Deine Lösung ist eine array of Char.
Delphi-Quellcode:
const
  STRING_LEN = 1000;

type
  TMyLongString = array[0..STRING_LEN-1] of Char;

var
  LongString: TMyLongString;
...:cat:...

jfheins 22. Okt 2004 09:08

Re: Sehr langer String mit festgelegter Länge
 
Kann ich darauf auch wie auf einen normalen String zugreifen?
z.B. so:
Delphi-Quellcode:
Label1.caption := LongString;

sakura 22. Okt 2004 09:10

Re: Sehr langer String mit festgelegter Länge
 
So rum geht es, in die andere Richtung musst Du mit Delphi-Referenz durchsuchenStrPCopy arbeiten.

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz