Autor Beitrag
blume283
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 23


Delphi 7
BeitragVerfasst: Di 12.09.06 12:54 
hallo!

ich habe eine frage, auf die ich im forum noch keine antwort gefunden habe, und zwar:

sagen wir ich habe folgende konstante:

ausblenden Delphi-Quelltext
1:
2:
const anzahl_hallo = 2;
const wert_hallo : Array[0..anzahl_hallo-1of Byte = (2,3);


nun möchte ich einen weiteren, konstanten array deklarieren (sagen wir mal groesse_hallo), der eben genau die länge von wert_hallo hat, also:

groesse_hallo[0] hat 2 einträge,
groesse_hallo[1] hat 3 einträge .. etc..

ausblenden Delphi-Quelltext
1:
const groesse_hallo : Array[0..anzahl_hallo-1,  { hier nun im ersten argument länge 2, im 2. argument länge 3} ]  of Byte = ( (10,15) , (25,36,49) );					


und ich wollte ihm natürlich direkt werte zuweisen (da konstant), ist so etwas möglich?

( die alternative wäre ja , einfach groesse_hallo[0] und groesse_hallo[1] gleichlang zu machen , nämlich das maximum von 2 und 3 also > 3, aber das muss doch eleganter gehen!?!)

dankeschön!
Allesquarks
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 510

Win XP Prof
Delphi 7 E
BeitragVerfasst: Di 12.09.06 13:06 
Das ist aber dann ein array eines arrays nich:

groeße_hallo:array of array [0..anzahl-1] of integer; hierbei geht dann aber wahrscheinlich nicht, dass anzahl für jede Zeile unterschiedlich ist. Das oben dürfte ein rechteckiges Feld deklarieren. Entweder du nimmst einfach den maximalwert von anzahl, dann ist das Feld zwar zu groß (Speicherverschwendung) oder du musst das dir erst vorher bauen. Dann würde ich dir aber dynamische arrays empfehlen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type Tgroßfeld = array of array of integer;

var großfeld:TGroßfeld

initialization

For i:=0 to length(großfeld)-1 
do begin
   setlength(großfeld[i],i+1);
end;
pennyWISE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49

Win XP
Delphi 2005 PE (getunt), QBasic 4.5
BeitragVerfasst: Mo 04.12.06 19:21 
hallo! ich weiß nicht genau ob es wirklich hier reingehört...aber egal^^
ich würde gern ein konstantes Feld benutzen...da ich bisher nicht wusste, wie, hab ich erstmal ein variables gemacht und die werte in einer FormCreate-Prozedur an das array übergeben... quelltext wie folgt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var 
  farben: array[1..6of string[7];

procedure TForm1.FormCreate(Sender: TObject);
begin
 farben[1]:='blau';
 farben[2]:='gelb';
 farben[3]:='gruen';
 farben[4]:='lila';
 farben[5]:='rot';
 farben[6]:='tuerkis';
end;


so...da die farben immer gleich bleiben, soll das ganze also konstant werden... freue mich auf antworten!

-pennyWISE-
blume283 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 23


Delphi 7
BeitragVerfasst: Sa 17.02.07 00:13 
hi pennywise,
das geht so:

ausblenden Delphi-Quelltext
1:
const farben : Array[1..2of String = ('blau','gelb');					


viele grüße

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt