Ну тогда тебе такие фокусы рано делать. в принципе, можно добавлять итемы не через add, а через AddObject, где вторым параметром идет ссылка на экземпляр какого-нить класса. Если бы у тебя итемы добавлялись строго из одного едита (один едит - один итем), то можно было бы сделать так:
Код:
procedure TForm1.btAdd1Click(Sender : TObject);
begin
Listbox1.Items.AddObject(Edit1.Text,TObject(Edit1));
end;
procedure TForm1.btAdd2Click(Sender : TObject);
begin
Listbox1.Items.AddObject(Edit2.Text,TObject(Edit2));
end;
procedure TForm1.Listbox1DblClick(Sender : TObject);
begin
If ListBox1.ItemIndex > -1 Then
TEdit(Listbox1.Items.Objects[ListBox1.ItemIndex]).Text := Listbox1.Items[ListBox1.ItemIndex];
end;
Т.к. у тебя итем комбинируется из нескольких едитов, то тебе надо написать свой класс, в который ты просто сохранишь из какого едита пришла та или иная подстрока. Этот класс подцепляется к итему (второй параметр AddObject) и при клике из этого класса и производится восстановление информации. Только надо не забывать аккуратно эти классы удалять при удалении итемов.