1. Для того, что бы уметь создавать объекты (экземпляры класса), нужно этот класс иметь. Его надо написать. В твоем случае можно обойтись чем-то минимальным, а для минимизации кода добавить параметризованный конструктор.
2 и 3 понтны, пропускаю.
4. Ну и что тут непонятного. Ты в п. 2 при добавлении итема уже положил в тот же список объект с данными. Ну и доставай данные из этого объекта.
5. тоже не вижу проблемы.
Короч, некоторое описание в виде кода (условное). Предполагаем, что есть comboBox и кнопка, по которой добавляется значение в 2 memo.
Код:
type
TForm1 = class(TForm)
ComboBox1 : TComboBox;
Memo1 : TMemo;
Memo2 : TMemo;
Label1 : TLabel;
Button1 : TButton;
...
end;
implementation
type
TMyData = class
CarName : String;
CarPrice : Currency;
constructor Create(AName : String; APrice : Currency); virtual;
end;
constructor TMyData.Create(AName : String; APrice : Currency);
begin
inherited Create;
CarName := AName;
CarPrice := APrice;
end;
procedure TForm1.FormCreate(Sender : TObject);
begin
ComboBox1.Items.Clear;
ComboBox1.Items.AddObject('Car1',TMyData.Create(Car1,10000));
ComboBox1.Items.AddObject('Car2',TMyData.Create(Car2,15000));
ComboBox1.Items.AddObject('Car3',TMyData.Create(Car3,20000));
Label1.Caption := 0;
Memo1.Lines.Clear;
Memo2.Lines.Clear;
end;
procedure TForm1.Button1Click(Sender : TObject);
var
Obj : TMyData;
Sm : Currency;
begin
If ComboBox1.ItemIndex > -1 Then
Begin
Obj := ComboBox1.Items.Objects[ComboBox1.ItemIndex] As TMyData;
Memo1.Lines.Add(Obj.CarName);
Memo2.Lines.Add(CurrToStr(Obj.CarPrice));
Sm := strToCurr(Label1.Caption);
Sm := Sm + Obj.CarPrice;
Label1.Caption := CurrToStr(Sm);
End;
end;