Autor Beitrag
Larus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: So 15.05.05 12:19 
Wie der Titel schon sagt! Ich habe eine arrayvariable die wie folgt aussieht:

ausblenden Delphi-Quelltext
1:
Text2: Array of Array of Char;					


Das Problem ist beide Arrays müssen variabel sein ! Ich kann sie nicht wie folgt festlegen:

ausblenden Delphi-Quelltext
1:
Text2: Array [0..5of Array [0..40of Char;					


weil ich sie ändern können muss z.B. auf:

ausblenden Delphi-Quelltext
1:
Text2: Array [0..3of Array [0..99of Char;					


Wie das bei einem einzelnen Array geht weiß ich ja:

ausblenden Delphi-Quelltext
1:
setLength(Text2,5);					


nur wie geht das, dass ich alles ändern kann?

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
Moderiert von user profile iconChristian S.: Topic aus Algorithmen, Optimierung und Assembler verschoben am So 15.05.2005 um 12:33
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: So 15.05.05 12:43 
Moin!

1. Manche Delphiversionen können es schon so: SetLength(arr, 1020);

2. Ältere nicht - bzw. wenn du in der 2. Dimension unterschiedliche Längen haben willst, dann so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Var
  i : Integer;
Begin
  SetLength(arr, 10);
  For i := Low(arr) To High(Arr) Do
    SetLength(arr[i], 20);
End;


In beiden Beispielen hast du in der 1. Dimension 10 Elemente und in der 2. Dimension jeweils 20 Elemente...

MfG
Muetze1

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
Larus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: So 15.05.05 12:56 
besten dank ich werde es mal ausprobieren! Ich verwende Delphi 7 und benötige für den zweiten array keine unterschiedlichen dimensionen
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: So 15.05.05 13:09 
user profile iconLarus hat folgendes geschrieben:
besten dank ich werde es mal ausprobieren! Ich verwende Delphi 7 und benötige für den zweiten array keine unterschiedlichen dimensionen


Darf ich fragen, warum du es dann dynamisch deklarierst :gruebel:?

AXMD
Allesquarks
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 510

Win XP Prof
Delphi 7 E
BeitragVerfasst: So 15.05.05 16:36 
Wieso verwendest Du nicht wenigstens für das array of character strings. Dies sind schon von Delphi dynamisch verwaltet. Du kannst auf jeden Fall jede Spalte einzeln dynamisch verändern (ungefähr so setlength(myarray,10,neuelänge)). So wurde die zehnte Spalte gändert. Delphi akzeptiert aber auch für die Spalte eine Variable, so dass du zur Not mit einer Schleife die Länge deines übergeordneten Arrays zur Gänze einheitlich verändern kannst.
Larus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: So 15.05.05 18:31 
ok falsch rübergekommen! Ich meine das so: Ich muss jetzt nich bei Text2[2,...] die Möglichkeit haben eine andere Länge für ... zu haben als bei Text2[3,...]! Hat sich aber auch schon erledigt! Habs nur mit einem String gemacht!