Autor Beitrag
OhLe
Hält's aus hier
Beiträge: 11

Win XP Prof. SP2, MAC OSX
Delphi 2005 Personal
BeitragVerfasst: Mi 21.11.07 19:42 
Hi,

ich habe folgendes Problem. Und zwar möchte ich über Record eine "DB" für die Schule programmieren..
Jedoch erhalte ich unter Delphi 2005 Personal folgende Fehlermeldung

[Fehler] : E2016 Array-Typ erforderlich

ausblenden volle Höhe 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:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
var
  Form3: TForm3;
  x : byte;

Type TArtikel = Record
Artnr: String[10];
Artbeschr: String[100];
Preis: String[10];
Vorrat: String[10];
end;

Feld=Array[1..10000of TArtikel;

var Artfeld : TArtikel;

implementation

uses db_verwaltung;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
x:=0;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
   x:=x+1;
   Artfeld[x].Artnr:=edit1.text;
   Artfeld[x].Artbeschr:=edit2.text;
   Artfeld[x].Preis:=edit3.text;
   Artfeld[x].Vorrat:=edit4.text;
end;


Das witzige ist aber, dass es mit Delphi7 geht aber mit Delphi 2005 nicht....

Danke für eure Antworten
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.11.07 19:54 
Ich bezweifle ganz stark, dass das unter Delphi 7 funktioniert!

Du hast da eine Variable von Typ des Rekords deklariert und willst drauf zugreifen, als wäre es ein Array. Das kann nicht gehen :nixweiss:

//edit: Und mit einem x vom Typ Byte wirst Du auch nicht glücklich, bei einem Array mit mehr als 255 Elementen ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
OhLe Threadstarter
Hält's aus hier
Beiträge: 11

Win XP Prof. SP2, MAC OSX
Delphi 2005 Personal
BeitragVerfasst: Mi 21.11.07 19:57 
Ja is ja erstma egal... wie kannsch das aber beheben?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.11.07 19:59 
:gruebel: Wenn ich schreibe, dass eine Variable als Rekord deklariert ist, die wie ein Array verwendet wird. Als was müsstest Du sie dann stattdessen deklarieren?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
OhLe Threadstarter
Hält's aus hier
Beiträge: 11

Win XP Prof. SP2, MAC OSX
Delphi 2005 Personal
BeitragVerfasst: Mi 21.11.07 20:03 
ja hast recht.... hab aufm schlauch gestanden... geht nun... danke


Zuletzt bearbeitet von OhLe am Mi 21.11.07 20:05, insgesamt 1-mal bearbeitet
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Mi 21.11.07 20:05 
Ausserdem sollte Preis von Typ Currency sein und Vorrat und x ein Integer. Das ganze noch in eine Klasse kapseln und die Arraygrösse dynamisch machen.