Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про ComboBox [D7, 2003]


Naganov ©   (2006-03-20 10:20:00) 

Извиняюсь за такой глупый вопрос, что-то совсем отупел, помогите, пожалуйста. Смысл вопроса таков:
бросил на форму ComboBox, Label и Button.
В свойстве Items у ComboBox'а поместил 2, 3.5  и  7.0
Обработчик нажатия кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var
n: integer;
begin
n:=StrToInt(ComboBox1.Text);
n:=100/n;
Label1.Caption:=IntToStr(n);
end;
А при нажатии пишет "ComboBox1 is not valid integer value"


Leonid Troyanovsky   (2006-03-20 11:15:00) [1]


> Naganov   (20.03.06 11:00) [9]

> я этот простейший пример привел для того, чтобы была понятна
> суть моей проюлемы.


Нужно привести не простейший пример, а пример того,
что вызывает проблему. Например,

Почему у меня возникает ошибка: '2.5' is not valid integer value
при выполнении кода ShowMessage(IntToStr(StrToInt('2.5'))); ?

Ну, или, при большей степени осмысления:
Почему 2.5 не является целым числом?

--
Regards, LVT.


Naganov   (2006-03-20 11:00:00) [2]

>*!*!*

Еще раз прошу прощения, может быть не совсем удачно, но я этот простейший пример привел для того, чтобы была понятна суть моей проюлемы.


*!*!*   (2006-03-20 10:54:00) [3]

{n:=100/n;} так кстати делать нельзя
n- целое, с ним только +, -, *, div, mod


Naganov   (2006-03-20 10:53:00) [4]

>API ©   (20.03.06 10:42) [3]

Большое спасибо Вам за помощ, Ваш код работает с целами числами, помещенными в с-ве Items,  но выдает такую же ошибку, если туда поместить дробные числа ( например 2.5).


Leonid Troyanovsky   (2006-03-20 10:51:00) [5]


> Naganov   (20.03.06 10:43) [4]


> 1. Мне трудно придумать оправдание к такому вопросу.

И какой толк от ответов, если даже с вопросом сложности?

> 2. Информацию не утаивал, все как на духу.

Приведенный пример даже компилироваться не должен, однако,
утверждается, что

> А при нажатии пишет "ComboBox1 is not valid integer value"

> 3. Вопрос один: почему не работает?

Что "не работает"?

--
Regards, LVT.


Leonid Troyanovsky   (2006-03-20 10:47:00) [6]


> API ©   (20.03.06 10:42) [3]
> А при нажатии пишет "ComboBox1 is not valid integer value"

> А что в самом ComboBox1 в момент нажатия вписано?


ComboBox1, вестимо :)

--
Regards, LVT.


Naganov   (2006-03-20 10:43:00) [7]

>Leonid Troyanovsky ©   (20.03.06 10:29) [2]

1. Мне трудно придумать оправдание к такому вопросу.
2. Информацию не утаивал, все как на духу.
3. Вопрос один: почему не работает?


API   (2006-03-20 10:42:00) [8]

А при нажатии пишет "ComboBox1 is not valid integer value"

А что в самом ComboBox1 в момент нажатия вписано?

В качестве совета:

1. Установите для ComboBox1 свойство Style=csDropDownList
2. Перепишите:

procedure TForm1.Button1Click(Sender: TObject);
var
 n: integer;
begin
 if (ComboBox1.ItemIndex = -1) then
   raise Exception.Create('Выберите значение из списка');
 n:=StrToInt(ComboBox1.Text);
 n:=100/n;
 Label1.Caption:=IntToStr(n);
end;


Leonid Troyanovsky   (2006-03-20 10:29:00) [9]


> Naganov   (20.03.06 10:20)  

> Извиняюсь за такой глупый вопрос, что-то совсем отупел,


Для того, чтобы извинить, нужно оправдание.
Кроме того, здесь не один вопрос. И часть информации
либо искажена, либо вовсе не приведена.

--
Regards, LVT.


vovnuke   (2006-03-20 10:24:00) [10]

StrToInt


Наверх

Титульная страница Поиск, карта сайта Написать письмо