type mit arrays

jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

type mit arrays

 · 
Posted: 31.03.2021 - 15:15  ·  #1
Hallo zusammen,

ich hab folgenden Type angelegt:

tVdef = record
CmdIn : array[0..3] of byte;
LSig : array[0..3] of byte;
BSig : array[0..3] of byte;
teach : boolean;
end;

jetzt möchte ich eine Konstante damit anlegen und mit Werten füllen:

const
VTab : array[0..0] of tVdef = (......

mein Problem ist jetzt das Füllen mit Werten.

kann mir einer sagen ob so ein Konstrukt überhaupt geht bzw wie ich das array mit Werten
füllen kann.

danke schonmal
Joachim
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: type mit arrays

 · 
Posted: 01.04.2021 - 16:27  ·  #2
Hallo Joachim,

ich habs heut auch eine Weile probiert und es nicht geschafft. Was ich aber geschafft hab .... die Konstanten in eine Datei und den Dateinamen angeben. Freu dich nicht zu früh, denn der Aufbau der Datei ist mir noch ein Rätsel. Schon mit einer Variable (kein Array) deines Typs hat es nicht funktioniert. Die Datei enthielt 13 Werte: 00 01 02 03 04 05 06 07 08 09 0A 0B FF, die Zuordnung zu den Const paßte aber nicht.

Harry
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: type mit arrays

 · 
Posted: 01.04.2021 - 17:09  ·  #3
Hi Joachim.

The short answer is no, such constructs are not supported.

The closest I could get to it is this

Code
{$iData}
structconst
  iVDef1 : array[0..12 ] of byte = (0,1,2,3,
                                    5,6,7,8,
                                    9,10,11,12,
                                    $FF);      // true
var
VTab[ @iVDef1 ] : array [0..0] of tVdef;



but it is RAM not ROM and a nasty kludge even then.
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: type mit arrays

 · 
Posted: 03.04.2021 - 13:42  ·  #4
schade ....

Dank an alle!
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: type mit arrays

 · 
Posted: 04.04.2021 - 02:45  ·  #5
Eine Möglichkeit

Quote

type
tVdef = record
A: longword;
B: longword;
C: longword;
D: boolean;
end;

tVdefA = record
AA: array[0..3] of byte;
BB: array[0..3] of byte;
CC: array[0..3] of byte;
DD: boolean;
end;

const
structconst // byte[x] ?
VTab : array[0..1] of tVdef = ((A: 1032; B: 2; C: 3; D: true), (A: 4; B: 5; C: 6; D: false));

Var
Tab : tVdef;
Tab[@TAb] : tVdefA;

// main

Tab := VTab[0];
TabA.AA[1] := 1; // copy of vTab[x]
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   93   107 · Page-Gen-Time: 0.034677s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI