Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was ist mit Meinem String los??? (https://www.delphipraxis.net/90338-ist-mit-meinem-string-los.html)

Axxus 15. Apr 2007 16:50


Was ist mit Meinem String los???
 
HI Delphianer :hi:

ICh bin an einem Projekt drann und habe ein Editfenster.

Die Eingabe des Editfensters wird in einen String gespeichert.

Nun dachte ich, dass der Maximalwert für einen String 255 Stellen ist.

Wenn ich aber ins Editfenster 300 und mehr stellen eingebe speichert er es trotzdem und kann den Langen string auch ausgeben.
:wiejetzt:

HInzufügen muss ich noch, dass der String, in den der Wert des Editfensters gespeicehrt wird Teil eines Array of String ist.

Was ist da Los

Wurde der Maximalwert für Strings geändert?

Wenn ja wie lang ist er jetzt?

:?: Axxus :?:

mkinzler 15. Apr 2007 16:54

Re: Was ist mit Meinem String los???
 
Ein klassischer Pascal-String kann maximal 255 Zeichen lang sein. Dieser heißt nun (seit D2 oder so) ShortString. Daneben gibt es noch AnsiString, welcher beliebig lang werden kann. Bei Variablen vom Typ string entscheidet der Compiler dann, welchen typ genommen wird.

r2c2 15. Apr 2007 16:55

Re: Was ist mit Meinem String los???
 
Zitat:

Zitat von Axxus
Wurde der Maximalwert für Strings geändert?

Jo, wurde er. Mit der Einführung von Delphi 2. Seitdem können struings bis zu 2GB lang werden, da sie intern sowas ähnliches, wie dyn. Arrays sind. Siehe auch: http://r2c2.weingut-rehn.de/content3...mit_Delphi.htm Stehl in den Vorbemerkungen...

//Edit: 1 min. zu langsam...

mfg

Christian

Axxus 15. Apr 2007 16:56

Re: Was ist mit Meinem String los???
 
OK Danke Leute das ist ja Perfekt

Axxus :thumb:

Christian Seehase 15. Apr 2007 16:59

Re: Was ist mit Meinem String los???
 
Moin Alexander,

standardmässig ist die bei Delphi Huge-String für den Typ string eingestellt.
Dieser kann, theoretisch, bis zu 2GB Daten aufnehmen.
Um einen "kurzen" String zu bekommen, hast Du zwei Möglichkeiten:
  1. Du gibst bei string noch die Länge mit an (z.B. string[10])
  2. Du stellst in den Projektoptionen ein, dass Du keine Huge-Strings haben willst.

von letzterem ist aber abzuraten, da sich dass dann auf alle string-Deklarationen auswirkt.

mr47 15. Apr 2007 17:06

Re: Was ist mit Meinem String los???
 
Hardcoden kann man aber weiterhin nur 255 Zeichen, oder? Man kann sie natürlich zusammensetzen aber in einer Zuweisung nur 255 Zeichen...

Christian Seehase 15. Apr 2007 17:40

Re: Was ist mit Meinem String los???
 
Moin mr47,

Zitat:

Zitat von mr47
Man kann sie natürlich zusammensetzen aber in einer Zuweisung nur 255 Zeichen...

in einer Zuweisung: Nein.

Du kannst 255 Zeichen lange Stringliterale mit + zu längeren verbinden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 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