Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Andere String Variable (https://www.delphipraxis.net/113827-andere-string-variable.html)

mr_emre_d 15. Mai 2008 10:52


Andere String Variable
 
Heyho,

Ich bräuchte schnell ne Var. die größer sein kann als nur 256 Zeichen ( string ) lang
und zwar in einem Record...

edit:
rein theoretisch könnte ich nen str: array [ x..y ] of char deklarieren oder... hmmm

MfG

Nuclear-Ping 15. Mai 2008 10:54

Re: Andere String Variable
 
Delphi-Quellcode:
type
  TMyRec = record
             Str: String; // String kann mehr als 255 Zeichen aufnehmen
           end;

mr_emre_d 15. Mai 2008 10:58

Re: Andere String Variable
 
ich habe meine frage falsch formuliert, eh wie immer :roll: sorry,

in einem record darf sie aber nur 255 groß sein:
mf: file of tmyrecord ( drinnen ist dann halt String[ 255 ], ich brauchs aber größer )

^^

RavenIV 15. Mai 2008 11:01

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
Ich bräuchte schnell ne Var. die größer sein kann als nur 256 Zeichen ( string ) lang

Ein "normaler" String (=AnsiString) kann 2 hoch 31 Zeichen aufnehmen.
das sollte wohl erst mal reichen, oder?

RavenIV 15. Mai 2008 11:03

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
ich habe meine frage falsch formuliert, eh wie immer :roll: sorry,

in einem record darf sie aber nur 255 groß sein:
mf: file of tmyrecord ( drinnen ist dann halt String[ 255 ], ich brauchs aber größer )

^^

Wo steht das?
Woher hast Du diese (Falsch)-Information?

mr_emre_d 15. Mai 2008 11:05

Re: Andere String Variable
 
vom compiler ^^
mom ich prüf das mal

das mit "str können nur 255 z. lang sein" meinte ich nur in einem record

edit:

Code:
  TBLUB = record
    str: string[ 300 ];
  end;

fehler:
e2056 String-Literale können maximal 255 Elemente besitzen

Nuclear-Ping 15. Mai 2008 11:06

Re: Andere String Variable
 
Versteh nicht ganz das Problem ... ^^

RavenIV 15. Mai 2008 11:07

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
vom compiler ^^
mom ich prüf das mal

Also bei mir wird das Beispiel aus Beitrag #2 ohne Fehler compiliert.

mr_emre_d 15. Mai 2008 11:08

Re: Andere String Variable
 
Zitat:

Zitat von Nuclear-Ping
Versteh nicht ganz das Problem ... ^^

ich bin eben etwas ( sehr sogar ) schlecht in Probleme beschreiben ... :oops:

DP-Maintenance 15. Mai 2008 11:11

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Das ist eine Delphi-Frage.

Klaus01 15. Mai 2008 11:12

Re: Andere String Variable
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von mr_emre_d
vom compiler ^^
mom ich prüf das mal

Also bei mir wird das Beispiel aus Beitrag #2 ohne Fehler compiliert.

In dem Fall wird so denke ich aber ein ShortString benutzt.
Denn der Record benötigt ja ein definierte Länge
um Speicher zu reservieren.

Grüße
Klaus

Nuclear-Ping 15. Mai 2008 11:16

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
vom compiler ^^
mom ich prüf das mal

das mit "str können nur 255 z. lang sein" meinte ich nur in einem record

edit:

Code:
  TBLUB = record
    str: string[ 300 ];
  end;

fehler:
e2056 String-Literale können maximal 255 Elemente besitzen

Achso ... Hm, in dem Falle kannst du Tatsächlich mal Str: Array[1..300] of Char probieren. Oder du liest die Datei anders ein.

mr_emre_d 15. Mai 2008 11:18

Re: Andere String Variable
 
hmm dachte ich mir schon, gibts da aber keine andere variable für ???

nun ja, thx für die bisweiligen antworten

mkinzler 15. Mai 2008 11:19

Re: Andere String Variable
 
Das ist aber kein Problem des String-Typs, sondern der Tatsache das die Datensätze in typisierte Dateien eine feste Grösse haben müssen.

Nuclear-Ping 15. Mai 2008 11:22

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
hmm dachte ich mir schon, gibts da aber keine andere variable für ???

nun ja, thx für die bisweiligen antworten

Du kannst die Datei auch per Delphi-Referenz durchsuchenTFileStream direkt ganz einlesen und dann die jeweiligen Teile dem Record per Hand zuweisen.

hitzi 15. Mai 2008 12:02

Re: Andere String Variable
 
Zitat:

Zitat von mr_emre_d
e2056 String-Literale können maximal 255 Elemente besitzen

Ist das nicht der fehler, wenn man versucht einem Stringvariablen im Quelltext einen Text zu zuweisen der länger als 256 Zeichen ist? So in der Art:
Delphi-Quellcode:
var s : string;
begin
  s := '12345678901234567890[hier mehr als 256 Zeichen vorstellen]';
end;
Das meckert der Compiler auch an. Die Lösung in dem Fall ist den String aufzuteilen.


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