Autor Beitrag
Kroni
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Do 21.10.04 12:46 
Hallo,

Du musst Dein (dynamisches) Array als Typ deklarieren, dann funktioniert es.
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 21.10.04 12:50 
Kann Delphi 3 überhaupt schon Dynamische Arrays? Ich meine das geht erst ab D5 :?:
Kroni Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: Do 21.10.04 12:53 
ja, ich merke gerade, wenn ich
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 720

Win 98, Win ME, Win2k, Win XP
D3 Pro
BeitragVerfasst: 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