Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fehler bei Deklaration von dynamischen Array
Kroni - Do 21.10.04 12:43
Titel: Fehler bei Deklaration von dynamischen Array
Ich versuche gerade ein dynamisches Array zu deklarieren, habe gerade noch das Tutoiral durchgelesen. Mein Code sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var arrayint:array of integer; begin setlength(arrayint,5); ... end; |
Dann kommen die Fehler, dass ein "[" vor OF erwartet wird.
und bei setlength inkompatible Typen (Strin und Integer) sind.
Was mache ich falsch?
Ich verzweifle gerade...
Kroni
Ich hoffe dass ich demnächst auch mal helfen kann wenn ich mehr weiß als nun...also Sorry dass ich nur nachfrage
smiegel - Do 21.10.04 12:46
Hallo,
Du musst Dein (dynamisches) Array als Typ deklarieren, dann funktioniert es.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| type TMyIntArray=array of Integer; ... ... procedure TForm1.Button1Click(Sender: TObject); var arrayint:TMyIntArray; begin setlength(arrayint,5); ... end; |
Kroni - Do 21.10.04 12:48
Ok danke sehr. mal sehen obs funktioniert....
Das ist doch dann schon OOP oder wie das heißt mit Klassen und sowas oder?
Nagelbrett - Do 21.10.04 12:50
Zitat: |
Du musst Dein (dynamisches) Array als Typ deklarieren, dann funktioniert es. |
Das ist aber nur in älteren Delphi Versionen so, oder? ich kann bei mir (D6) auch ohne eigenen Typ dynamische Arrays verwenden...
jasocul - Do 21.10.04 12:50
Kann Delphi 3 überhaupt schon Dynamische Arrays? Ich meine das geht erst ab D5 :?:
Kroni - Do 21.10.04 12:53
ja, ich merke gerade, wenn ich
Delphi-Quelltext
1: 2:
| type TMyIntArray=array of integer; |
eingebe, dann meckert der Compiler immernoch, dass der ein "[" sehen will.
Na ja....was soll ich dann machen?
Ich könnte eigentlich dannein Array machen, das irgendeine hohe Zahl als Maximum wert macht, und die anderen werden dann nicht gebraucht?
jasocul - Do 21.10.04 12:56
Eventuell hilft ein TList. Schöner wäre eine verkettete Liste. Das ist aber nicht so einfach, wenn man mit Pointern noch nie was gemacht hat. Zum Lernen aber prima.
Kroni - Do 21.10.04 13:00
ok von pointern bzw zeigern habe ich mal in meinem C Buch gelesen...die afu dei Speicheradresse Zeigen.....
Na ja ich werds mal verscuhen, ansonsten muss Papa mir wohl ne neue Delphi Version kaufen *Fg*
Und nachher gucke ich mir dann nochmal die TList an.
Danke
Kroni - Do 21.10.04 15:06
Ok, hat sich erledigt. Habe folgendes gefunden:
Zitat: |
Seit Delphi 4 gibt es die Möglichkeit, dynamische Arrays einzusetzen. Im Gegensatz zu den statischen Arrays (s: array[0..25] of integer) muss bei den dynamischen keine Obergrenze angegeben werden. Die Obergrenze wird zur Laufzeit vorgegeben und kann beliebig verändert werden. |
Quelle:
http://www.delphi-source.de/tipps/sprache/?id=140
Danke für euer bemühen, also muss ich eine Obergrenze festlegen, und mal schaunen, wann ich mir eine neuere Delphi Version leisten kann ;-)
Kroni
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!