Autor |
Beitrag |
Kroni
      
Beiträge: 720
Win 98, Win ME, Win2k, Win XP
D3 Pro
|
Verfasst: Do 21.10.04 12:43
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
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: 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; |
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
Kroni 
      
Beiträge: 720
Win 98, Win ME, Win2k, Win XP
D3 Pro
|
Verfasst: 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
      
Beiträge: 75
|
Verfasst: 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
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 21.10.04 12:50
Kann Delphi 3 überhaupt schon Dynamische Arrays? Ich meine das geht erst ab D5 
|
|
Kroni 
      
Beiträge: 720
Win 98, Win ME, Win2k, Win XP
D3 Pro
|
Verfasst: 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
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: 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 
      
Beiträge: 720
Win 98, Win ME, Win2k, Win XP
D3 Pro
|
Verfasst: 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 
      
Beiträge: 720
Win 98, Win ME, Win2k, Win XP
D3 Pro
|
Verfasst: 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: 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
|
|