Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 26.09.03 14:20 
Hallo,
ich brauche einen array mit verschieden datentypen.
hat jemmand eine idee wie man das machen könnte ?

_________________
MFG
Michael Springwald, "kann kein englisch...."


Zuletzt bearbeitet von mimi am Fr 26.09.03 16:31, insgesamt 1-mal bearbeitet
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 26.09.03 14:27 
sowas hier?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
type Myrecord = record
       i1,i2,i3:integer;
       b1,b2,b3:boolean;
       ...
     end;

Var myarray : array [1..10] of Myrecord; //oder dynamisch


Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 26.09.03 14:31 
auf die idee hätte ich auch kommen können *G*
ja sowas in der art. gibt es noch andre möglichkeiten oder ist das die einzigste ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Fr 26.09.03 15:04 
hab grad mist geschrieben :?

jetzt aber:

ich wurd da mal ein record machen, das die daten beschreibt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type

  TDataType = (dtInteger,dtObject,dtString,dtEtc);

  TDataDef = record
    dataType:TDataType ;
    data:pointer;
  end;

  TDataArr = array[0..65535] of TDataDef;


wenn du jetzt neue daten einhängen willst gukst du was fürn typ das ist und schreibst zB. dtInteger in das dataType feld...anschleissend holst du dir den pointer und schreibst ihn auch rein!

beim auslesen weist du dann immer welcher datentyp sich hinter dem pointer verbirgt und kannst casten.

wär das was?

_________________
mfg.
mâximôv
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.09.03 15:14 
[EDIT]
Arghh, Maximus war schneller :D
Das ist aber praktisch das selbe was Variants machen.

Mir vielen jetzt nur Variants und Pointer ein.

z.B. so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
var
 l: tlist;
 i: integer;
 x: pointer;
begin
 l := Tlist.create;

 for i := 0 to 10000 do
 begin
  new(x);
  ppoint(x)^ := Point(random(54),random(41));
  l.add(x);
 end;


 while l.Count > 0 do
 begin
  dispose(l.Items[0]);
  l.Delete(0);
 end;

 l.free;
end;
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 26.09.03 16:30 
danke für eure tipps, dann nehme ich das von "maximus" eingentlich hätte ich wiegesagt auch selbst draufkommen müssen *G*

_________________
MFG
Michael Springwald, "kann kein englisch...."
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.09.03 17:45 
nimm variants. da wird das alles automatisch erledigt.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 26.09.03 18:20 
@maximus
deine erste müsste auch gehen.
ich habe es noch nicht geteste(werde ich auch erst morgen machen können weil ich jetzt ins bett muss, muss morgen um 1:10 Uhr zur arbeit :( , also dann gute nacht *G*)

was sind "variants" ?
ich kenne diesen datentyp noch nicht :(
was für vorteile und nachteile haben sie ???

_________________
MFG
Michael Springwald, "kann kein englisch...."