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


Автор: RomaWise 2.10.2014, 07:24
В итемс забиваем значения. И при выборе какого либо значения, он должен его присваивать переменной.

Я сделал так:

Код

if ComboBox1.Items = 50 then a:=5 else exit;
if combobox1.Items = 80 then a:=8 else exit;
if combobox1.Items = 100 then a:=10 else exit;


Но делфи упорно выдает ошибку: Incompatible types.

Почему, не пойму. Подскажите, добрые люди.

Добавлено через 13 минут и 8 секунд
Сделал все, просто походу вообще не в ту степь полез.

Автор: Vasya 2.10.2014, 10:23
Combobox.items не может быть равно 50. 
Combobox.items имеет свойство count, наверно вам нужно это.

Автор: Dremuk 2.10.2014, 10:31
if combobox1.text = '50' then a:=5 else
  if combobox1.text = '80' then a:=8 else
    if combobox1.text = '100' then a:=10 else exit;

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Rabota-s-ComboBox-id542cd416ae2015ad128b4567#findElement_E7045_542cff62ae201595318b45c3_0

Автор: Poseidon 3.10.2014, 08:50
Конкретно для этой задачи (именно конкретно для этой) можно сделать финт ушами:

Код

  a := StrToInt(ComboBox1.Text) div 10;


Добавлено через 3 минуты и 2 секунды
Цитата(RomaWise @ 2.10.2014,  07:24)
Код

if ComboBox1.Items = 50 then a:=5 else exit;
if combobox1.Items = 80 then a:=8 else exit;
if combobox1.Items = 100 then a:=10 else exit;

Кстати, при данном подходе код "уйдет" на Exit при любом раскладе, кроме "50". Т.е. не 80, не 100 не обработаются, т.к. сработает else на условии "= 50".

Автор: v258 15.10.2014, 18:21
Правильнее было бы, видимо, так
Код

Case ComboBox1.ItemIndex of
  0 : a := 5;
  1 : a := 8;
  2 : a := 10;
end;

Автор: Poseidon 15.10.2014, 20:59
v258, ага, особенно если ComboBox1 заполнен не во возрастанию или там есть еще и какие-нибудь "левые" значения.  smile 

Автор: v258 16.10.2014, 09:34
ну во-первых, автор же знает, что туда поместил, а во-вторых он в первом посте путаницу с типами устроил, да и вот это
Цитата(RomaWise @  2.10.2014,  07:24 Найти цитируемый пост)
при выборе какого либо значения, он должен его присваивать переменной.

как-то не очень соответствует коду   smile

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