![]() |
|
#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
|
|||
|
|||
![]() Спасибо большое, за ценную информацию!)
![]() |