Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Работа с ComboBox


Автор: Alex221 25.4.2012, 22:18
Имеются 5 компонентов Combobox. Каждой строке в них нужно присвоить определенное числовое значение. Например, 
 Combobox «Транспорт»:  самолет:=2000; поезд:=1500; автобус:=1500, 
Combobox «Проживание»:  отель 5*:=3500; отель 4*:=2500; отель 3*:=1500 и т.д.
Combobox «Питание»:  3 раз. шведский стол:=1000; 3 раз. меню-заказ:=800; только завтрак:=500,
Затем числовые значения  выбранных строк нужно сложить и полученный результат умножить на значение, находящееся в строке Edit. 

Помогите пожалуйста, курсовик горит. Задача, возможно, не сложная, просто никогда не сталкивался с Delphi. Заранее спасибо.

Автор: Данкинг 25.4.2012, 23:15
Пройдись в цикле по спискам каждого комбика. Т.е. примерно так:
Код

 var i,c:integer;
begin
 c:=0;
 for i:=0 to combobox1.Items.Count -1 do
  begin
   if combobox1.Items.Strings [i]='самолёт' then inc(c,2000);
   if combobox1.Items.Strings [i]='поезд' then inc(c,1500);
   {и так далее по всем комбикам}
  end;
  c=c*strtoint(edit1.text);
end;

Автор: northener 25.4.2012, 23:57
Цитата(Alex221 @  25.4.2012,  22:18 Найти цитируемый пост)
Каждой строке в них нужно присвоить определенное числовое значение. Например, 
 Combobox «Транспорт»:  самолет:=2000; поезд:=1500; автобус:=1500

Код

  ComboboxTransport.Items.AddObject('самолет',TObject(2000));
  ComboboxTransport.Items.AddObject('поезд',TObject(1500));
  ComboboxTransport.Items.AddObject('автобус',TObject(1500));
...
  Price:=(Integer(ComboboxTransport.Objects[ComboboxTransport.ItemIndex])+Integer(Combobox...)+Integer(Combobox...)+Integer(Combobox...)+Integer(Combobox...))*StrToFloat(Edit1.Text);

P.S.
Что-то мне кажется, что подобную задачу нужно было бы решать не на Делфи, а на каком-нибудь языке предназначенном для выполнения на странице всемирной паутины. А если это учебная задача, то можно было бы придумать что-то более привычное для Дельфи.

P.P.S. 
"курсовик горит".  Если не успел погасить, то вспомните дедушку Крылова. smile

Автор: Alex221 26.4.2012, 09:02
Цитата

Что-то мне кажется, что подобную задачу нужно было бы решать не на Делфи, а на каком-нибудь языке предназначенном для выполнения на странице всемирной паутины. А если это учебная задача, то можно было бы придумать что-то более привычное для Дельфи.


Я согласен, что тут более уместно было бы написать сайт, но, увы, преподавателем четко поставлена такая задача для курсовой, мы люди подневольные))

Всем большое спасибо за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)