Array Delphi (Object Pascal)


dUser

Mitglied
Guten Abend,

ich habe mich in letzter Zeit mit Delphi (Object Pascal) beschäftigt.
Dabei kamen mir zwei Fragen auf, auf welche ich keine eindeutigen Antworten fand.

1.
Warum werden die Eigenschaften und Methoden bei der Form-Klasse über private bzw. public
deklariert? Hat das vielleicht eine bestimmte Bedeutung?
Code:
TForm1 = class(TForm)

    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
In einer eigenen Klasse ordnet man die Eigenschaften und Methoden doch auch private und public unter...
Code:
type
  TAuto = class
  private <--
    FFarbe: String;
    FBaujahr: Integer;
    FTankinhalt: Integer;
    procedure SetFarbe(Farbe: String);
  public <--
    procedure Tanken(Liter: Integer);
    property Farbe: string read FFarbe write SetFarbe;
  end;

2.
Ich wollte in einem mehrdimensionalen Array einfache Zahlen abspeichern:
Variante 1:
Code:
var
  Arr: Array of Array of Byte;

  SetLength(Arr, 2);
  SetLength(Arr[0], 2);
  SetLength(Arr[1], 2);

  Arr[0] := (10, 20);
  Arr[1] := (30, 40);
Ich wollte ein ganzes Array zuweisen, damit ich nach der
Zuweisung mit Array[x][y] auf die Werte zugreifen kann.
Leider erhalte ich folgende Fehlermeldung:
[Fehler] Unit1.pas(31): ')' erwartet, aber ',' gefunden

Wenn ich aber dem Array einzelne Werte zuweise, funktioniert es:
Variante 2:
Code:
    SetLength(Arr, 2);
    SetLength(Arr[0], 2);
    SetLength(Arr[1], 2);

    Arr[0][0] := 10;
    Arr[0][1] := 20;
    Arr[1][0] := 30;
    Arr[1][1] := 40;

Dabei stellt sich mir folgende Frage:
Wie kann man ein ganzes Array (wie in Variante 1 versucht) an ein Array-Element zuweisen?

Vielleicht hat ja jemand eine Idee.

Mit freundlichen Grüßen
 
Zuletzt bearbeitet:

Kalito

Erfahrenes Mitglied
Hallo,

zu deinen Fragen.

1. Über private und public kannst du steuern, wer das Objekt nutzen darf. Hier ist es ganz gut erklärt.
2. Hier wird es recht gut unter dem Punkt "Mehrdimensionales Array" beschrieben
 

Neue Beiträge