Hai Hansi,
hier einmal eine mögliche Lösung für dein Problem. Dafür missbrauche ich, wie schon an anderen Stellen immer wieder mal erwähnt, die Eigenschaft
Object von TStrings. Dieser weise ich über Typecasting die ID des Datansatzes zu.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
stext :
String;
iID : Integer;
begin
With ZQuery1
do
begin
Close;
SQL.Text := '
SELECT * FROM test1';
Open;
While Not EOF
do
begin
stext := FieldByName('
Name').AsString;
iID := FieldByName ('
ID').AsInteger;
ComboBox1.AddItem(sText,TObject(iID));
// ID wird zu einem "Object" gecastet.
Next;
end;
Close
end;
end;
procedure TForm1.ComboBox1Click(Sender: TObject);
var
sText :
String;
iID : Integer;
begin
sText := ComboBox1.Items[ComboBox1.ItemIndex];
// Akuteller Text in der CB
Edit1.Text := sText;
iID := Integer(Combobox1.Items.Objects[ComboBox1.ItemIndex]);
// Object wird wieder zu einem Integer gecastet
Edit2.Text := IntToStr (iID);
end;
Auf die Hilfsvariablen kann man natürlich verzichten. Diese habe ich nur eingebaut um den Ablauf deutlicher zu machen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"