Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Dynamische Arrays "zu Fuß"

  Alt 20. Dez 2003, 21:04
So, nach der Anregung von Herrn Schumann die Lösung mit TList:
Delphi-Quellcode:
type
  StringArray = record
    MyString: String;
  end;
  PStringArray = ^StringArray;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  MyList: Tlist;
  sa: PStringArray;
  Loop: Integer;
begin
  MyList := TList.Create;
  try
    New(sa);
    sa.MyString := 'Egon';
    MyList.Add(sa);
    New(sa);
    sa.MyString := 'Klaus';
    MyList.Add(sa);
    New(sa);
    sa.MyString := 'Michaela';
    MyList.Add(sa);
    for Loop := 0 to myList.Count-1 do
    begin
      sa := MyList.Items[Loop];
      Listbox1.Items.Add(sa.MyString);
    end;
    for Loop := 0 to MyList.Count-1 do
    begin
      sa := MyList.Items[Loop];
      Dispose(sa);
    end;
  finally
    FreeAndNil(MyList);
  end;
end;
Eigentlich auch so in der Hilfe zu finden.

Zu beahcten ist nur, dass man vor dem Hinzufügen, neuen Speicher reserviert (New) für den Record und nach Gebrauch selbigen wieder frei gibt (Dispose). Ist eventuell etwas umständlicher, dafür ist man mit dem Zeiger auf den Record aber felxibeler, man kann mehr Speichern und muss nicht auf mehrdimensionale Arrays zurückgreifen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat