Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeichenbegrenzung im Array (https://www.delphipraxis.net/973-zeichenbegrenzung-im-array.html)

Tpercon 3. Okt 2002 15:05


Zeichenbegrenzung im Array
 
Ich möchte in einem Array verschiedene Texte speichern. Wie kann ich dabei jeweils mehr als 255 Zeichen speichern?

sakura 3. Okt 2002 15:08

Was für ein Array willst Du nutzen?

Code:
// MÖGLICHKEIT
type
  StringArray: array of String;
var
  SA: StringArray;
....
begin
  SetLength(SA, 2);
  ...

  SA[0] := ErsterLangerText;
  SA[1] := ZweiterLangerText;
  ...

  SetLength(SA, 0);

Tpercon 3. Okt 2002 15:19

Ein dynamisches! Wobei ich mich gerade dafür entschiedne habe, dass das Array aus record's besteht und ich im record dann das Problem mit den langen Texten habe.

sakura 3. Okt 2002 15:26

Ensprechend angepasst:
Code:
// MÖGLICHKEIT
type
  DeinRecord = record
    ID: Integer;
    Txt: String;
  end;
  StringArray: array of DeinRecord;
var
  SA: StringArray;
....
begin
  SetLength(SA, 2);
  ...

  SA[0].Txt := ErsterLangerText;
  SA[1].Txt := ZweiterLangerText;
  ...

  SetLength(SA, 0);

Tpercon 3. Okt 2002 20:23

Die Txt Variable soll ja gerade nicht vom Type string sein, sondern muß den langen Text ermöglichen. Also muß da ja nochmal ein Array of string hin?!

d3g 3. Okt 2002 20:34

Hi Tpercon,

wenn du nicht gerade Delphi 1 benutzst, dann kann ein String (theoretisch) bis zu 2 GB Zeichen aufnehmen. Zeig mir mal einen Text, der länger als 2 GB ist bzw. einen Anwender-PC, der 2 GB einfach mal so im Speicher halten kann...

MfG,
d3g

Tpercon 4. Okt 2002 04:04

Bei nem record muß man aber doch die Länge von dem String angeben und da kann man halt maximal 255 eingeben.

sakura 4. Okt 2002 08:28

Zitat:

Zitat von Tpercon
Bei nem record muß man aber doch die Länge von dem String angeben und da kann man halt maximal 255 eingeben.

Falsch, Du musst beim aufräumen des Records lediglich manuell die Strings leeren, bevor Du den Record-Eintrag löschst, da Delphi sonst Probleme mit dem Speicher bekommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.

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