![]() |
|
|
|
|
#1
|
|||
|
|||
|
Ребята помогите пожалуйста.
Есть combobox, в которой есть строки (информация). И 2 поля Memo. Нужно сделать так, что-бы при выборе определенной строки, из combobox, добавлялась в memo1, а в Memo2 выводилась определенная цифра, и она суммируется в отдельном Label. Вот например: 1.Из combobox мы выбрали 2 строки, представим: "Машина_1" и "Машина_2" 2. Они появились в memo1. И автоматически заполняется в memo2 стоимость этих машин. (Эти цифры (Стоимость), мы прописываем заранее в memo 2) 3. При нажатии на кнопку "Посчитать" выводится в lable общая сумма. Help! |
|
#2
|
|||
|
|||
|
я бы сделал примерно так:
1. Создал бы специальный класс, в котором хранил бы связанную информацию. 2. Для добавления итемов в ComboBox использовать метод AddObject, вторым параметром в котором использовал бы ссылку на объект моего класса. 3. Для ComboBox надо включить режим выбора только из списка. 4. При выборе из ComboBox просто из связанного с итемом объекта выдергивал бы нужную информацию. 5. Суммировал бы сразу в динамике, без всяких там нажатий кнопок, просто по событию, на котором ты заполняешь Memo. |
|
#3
|
|||
|
|||
|
Спасибо большое, но всё же, я в делфи 0, программу нужно сдавать по учёбе, а я много пропустил....мне только понятен 2 и 3 пункт.
Можете код примерно изложить? Что-бы хоть понятно было что писать. |
|
#4
|
|||
|
|||
|
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; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Vitaliy92 (15.03.2013)
| ||
|
#5
|
|||
|
|||
|
Спасибо большое, за ценную информацию!)
![]() |