Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: combobox füllen und auslesen

  Alt 28. Nov 2008, 17:41
Oder wenn du bei der Befüllung der ComboBox das Array der Reihe nach durchläufst, kannst du wiederum durch den ItemIndex der ComboBox (ComboBox.ItemIndex) den Wert aus deinem Array lesen.

Hab mal einen kleinen Beispielcode geschrieben:
Deklarierung der Variablen:
Delphi-Quellcode:
type
  TMyRecord = record
    ID : integer;
    Bezeichnung : String;
  end;

  TRecordArr = array of TMyRecord;

[...]
  public
    aArr : TRecordArr;
Zum befüllen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
setlength(aArr, 2);
aArr[0].ID := 0;
aArr[0].Bezeichnung := 'foo';

aArr[1].ID := 1;
aArr[1].Bezeichnung := 'bar';

for i:= 0 to High(aArr) do
  begin
    ComboBox1.Items.Add(aArr[i].Bezeichnung);
  end;
end;
zum auslesen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.ItemIndex <> -1 then
  begin
    ShowMessage(format('Die gwählte ID ist %d und die Bezeichnung ist %s', [aArr[ComboBox1.ItemIndex].ID, ComboBox1.Items.Strings[ComboBox1.ItemIndex]]))
  end;
end;
Jedoch finde ich die Referenzierung durch ein Objekt und das Nutzen der Procedur AddObject auch vernünftiger. Vielleicht kannst du ja auch dein Record durch eine Klasse ersetzen.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat