Einzelnen Beitrag anzeigen

enigma

Registriert seit: 15. Jun 2008
35 Beiträge
 
#1

Verschachtelte Arrays und Records

  Alt 9. Feb 2021, 10:26
Hallo zusammen,

ich plage mich schon länger mit ineinander verschachtelten Arrays und Records und freue mich über jeden Tipp.

Die Datenstruktur ist die folgende:

Delphi-Quellcode:
TArray1 = array[1..1] of
 record
   String1: String;
// array2: array[1..1] of //mit dieser Länge 1 klappt es, s. unten
   array2: array[1..2] of //mit dieser Länge 2 klappt es nicht, Fehlermeldungen s. weiter unten
   record
     String2: String;
     array3: array[1..4, 1..2] of Double;
   end;
 end;
Diese Definition mit Länge von array2 = 1 klappt:

Delphi-Quellcode:
  array1Arr2Laenge1: TArray1 =
  ( ( String1: 'TestString1';
      array2:
      (
        ( String2: 'TestString2';
          array3:
          ( (1, 2) ,
            (1, 2),
            (1, 2),
            (1, 2)
          ); {array3}
        ) {record}
      ); {array2}
    ) {record}
  ); {array1Arr2Laenge1}
Diese Definition mit Länge von array2 = 2 klappt nicht, Fehlermeldungen beim Übergang von erster zu zweiter Definition von record 2 klappt nicht, s. unten

Delphi-Quellcode:
 
 array1: TArray1 =
  ( {array1}
   ( {record 1}
      String1: 'TestString1';
      array2:
      ( {array2 }
        ( {record 2}
          String2: 'TestString2';
          array3:
          ( (1, 2) ,
            (1, 2),
            (1, 2),
            (1, 2)
          ); {array3}
        ) {record 2}
        //) {Setze ich hier ‘)‘ wie unten gefordert, erscheint}
                                   {Folgende Meldung: „Anzahl der Elemente (1) weicht von der
                                                       Deklaration (2) ab“}

        ( {record 2}       {Meldung „‘)‘ erwartet, aber ‚(‘ gefunden“}
          String2: 'TestString2';
          array3:
          ( (1, 2) ,
            (1, 2),
            (1, 2),
            (1, 2)
          ); {array3}
        ) {record 2}

      ); {array2}
    ) {record 1}
  ); {array1}
Wenn ihr eine Idee habt, lasst sie mich bitte wissen.
  Mit Zitat antworten Zitat