Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verschiedene Datenformate im Array speichern (https://www.delphipraxis.net/41464-verschiedene-datenformate-im-array-speichern.html)

Christian18 3. Mär 2005 16:37


Verschiedene Datenformate im Array speichern
 
Hallo,

ich habe verschiedene Datenformate. Ich bräuchte die funktion eines Arrays. Ist es möglichu verschiedene Datenformate in einem Array zu speichern???

hier meine daten:

x y a b c d
0 0 t t t t
0 1 f t t f
...
1 1 f f f f

sniper_w 3. Mär 2005 16:51

Re: Verschiedene Datenformate im Array speichern
 
Ja. Moglicherweise über RECORDS (wenn es gleichzeitig versiedene Datentypen geben muss) oder Variants.
Delphi-Quellcode:
 var a: array of Variant;
// oder

type MyType = record
   a : integer;
   b: string;
   c : double;
   end;

var myarray : array of MyType;

Christian18 3. Mär 2005 17:02

Re: Verschiedene Datenformate im Array speichern
 
Zitat:

Zitat von sniper_w
Ja. Moglicherweise über RECORDS (wenn es gleichzeitig versiedene Datentypen geben muss) oder Variants.
Delphi-Quellcode:
 var a: array of Variant;
// oder

type MyType = record
   a : integer;
   b: string;
   c : double;
   end;

var myarray : array of MyType;

Hallo,

hast du vieleicht auchnoch ein kleines Beispiel wie auf die Felder zugreifen kann???

sniper_w 3. Mär 2005 17:27

Re: Verschiedene Datenformate im Array speichern
 
Delphi-Quellcode:

type MyType = record
   a : integer;
   b: string;
   c : double;
   end;

var myarray : array[0..9] of MyType;

//...
begin
 myarray[0].b := 'Hallo';
 myarray[0].a := 10;
 myarray[0].c := -23.4545;

 myarray[3].b := 'Hallo du da ?!!';
 myarray[2].a := 100011;
 myarray[7].c := -23435.46555545;

end;

Christian18 3. Mär 2005 17:30

Re: Verschiedene Datenformate im Array speichern
 
Zitat:

Zitat von sniper_w
Delphi-Quellcode:

type MyType = record
   a : integer;
   b: string;
   c : double;
   end;

var myarray : array[0..9] of MyType;

//...
begin
 myarray[0].b := 'Hallo';
 myarray[0].a := 10;
 myarray[0].c := -23.4545;

 myarray[3].b := 'Hallo du da ?!!';
 myarray[2].a := 100011;
 myarray[7].c := -23435.46555545;

end;

ok danke

dizzy 3. Mär 2005 21:58

Re: Verschiedene Datenformate im Array speichern
 
Da hier wohl nur Zahlenwerte und einzelne Buchstaben vorkommen ist es einfach. Ein "array of array of Byte" wäre eine Variante, wobei du dann bei den Chars explizit umwandeln musst.
Ein anderer Weg wäre ein varianter Record:
Delphi-Quellcode:
type
  TDataType = (dtNumber, dtChar);

  MyType = record
    case Typ: TDataType of
      dtNumber: (Zahl: Byte);
      dtChar : (Buchstabe: Char);
  end;
So in etwa müsste es meine ich aussehen. (Hab selten mit varianten Records gearbeitet, und kanns mangels Delphi auch grad nicht testen...)

Binärbaum 3. Mär 2005 22:11

Re: Verschiedene Datenformate im Array speichern
 
Zitat:

Zitat von dizzy
Ein anderer Weg wäre ein varianter Record:
Delphi-Quellcode:
type
  TDataType = (dtNumber, dtChar);

  MyType = record
    case Typ: TDataType of
      dtNumber: (Zahl: Byte);
      dtChar : (Buchstabe: Char);
  end;
So in etwa müsste es meine ich aussehen.

Man könnte auch gleich einen einfachen Byte-Array verwenden, wenn der Wechsel zwischen Char und Byte stets gleich ist, also wenn z.B. immer erst zwei Bytes kommen und dann vier Chars. Statt nun die Chars als solche zu speichern, speichert man deren Ordinalwerte und beim Lesen aus dem Array werden die Chars wieder mit Delphi-Referenz durchsuchenChr umgewandelt.

MfG
Binärbaum

dizzy 4. Mär 2005 00:50

Re: Verschiedene Datenformate im Array speichern
 
Diesen Teil hast du vergessen zu Quoten :zwinker: :
Zitat:

Zitat von dizzy
Da hier wohl nur Zahlenwerte und einzelne Buchstaben vorkommen ist es einfach. Ein "array of array of Byte" wäre eine Variante, wobei du dann bei den Chars explizit umwandeln musst.



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