Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Pointer of Array of Pointer

  Alt 7. Dez 2011, 13:18
Mal schnell heruntergetippt und kurz ausprobiert:
Delphi-Quellcode:
type
  PData = ^TData;
  TData = record
    Zahl: integer;
  end;
  TListe = array of PData;
  PListe = ^TListe;

  TForm1 = class(TForm)
    ...
  private
    { Private-Deklarationen }
    Liste: PListe;
...

//10 Einträge hinzufügen
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  NewData: PData;
begin
  for i := 1 to 10 do
    begin
      SetLength(Liste^, Length(Liste^) + 1);
      New(NewData);
      NewData^.Zahl := Length(Liste^);
      Liste^[High(Liste^)] := NewData;
    end;
end;

//alle enthaltenen Werte ausgeben
procedure TForm1.Button2Click(Sender: TObject);
var
  i: integer;
begin
  for i := Low(Liste^) to High(Liste^) do
    ShowMessage(IntToStr(Liste^[i]^.Zahl));
end;

//Liste anlegen
procedure TForm1.FormCreate(Sender: TObject);
begin
  New(Liste);
end;

//Aufräumen
procedure TForm1.FormDestroy(Sender: TObject);
var
  i: integer;
begin
  for i := Low(Liste^) to High(Liste^) do
    Dispose(Liste^[i]);
  Dispose(Liste);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat