![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.04.2007
Сообщений: 106
|
![]()
подскажите, пож., как сделать так, чтобы при выборе эл-та в расскрывающемся списке и при введении данных пользователем считалась заранее введенная формула при нажатии на кнопку?
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 11.08.2007
Сообщений: 69
|
![]()
Можно по конкретнее?
Советовать можно лишь в деле, в котором сам собираешься участвовать.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.04.2007
Сообщений: 106
|
![]()
на форме есть combobox, где пользователю предлагается выбрать определенное наименование. для каждого наименования есть определенная формула, которая отличается от других одной-двумя величинами и есть строки ввода куда вводятся польз свои данные для расчета. при нажатии на кнопку все это считается в зависимости от элемента в списке. подскажите, пож., с чего хотя бы начать?
|
![]() |
![]() |
![]() |
#4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
У комбобокса есть событие OnChange, по которому (в зависимости от ComboBox.ItemIndex) и должна считаться соответствующая формула. Естественно, исходные данные должны вводиться в эдиты заранее... Последний раз редактировалось mihali4; 02.12.2007 в 23:14. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.04.2007
Сообщений: 106
|
![]()
начал примерно так (конечно неправильно), просит "вставить требуемый тип" , подскажите, пож., как исправить!!!
procedure TForm.ComboBoxChange(Sender: TObject); var a,b,sum:integer; begin a:=strtoint(edit1.Text); b:=strtoint(edit2.Text); if ComboBox.ItemIndex[0] then sum:=a+b; if ComboBox.ItemIndex[1] then sum:=a-b; edit3.Text:=inttostr(sum); end; |
![]() |
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
if ComboBox.ItemIndex=0 then
или case ComboBox.ItemIndex of 0:... 1:... ... |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 11.04.2007
Сообщений: 106
|
![]()
если писать к примеру
case ComboBox.ItemIndex of 0:sum:=a+b; 1:sum:=a*b; 2:sum:=a/b; ... пишет "постоянно ожидаемое выражение" Поскажите, пож., как это исправить и что это означает? И какой вариант предпочтительнее? Большое спасибо!!! |
![]() |
![]() |
![]() |
#8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
case ComboBox.ItemIndex of
0:sum:=a+b; 1:sum:=a*b; 2:sum:=a/b; end; !!!!!!!! Учитесь пользоваться встроенным хэлпом! |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 11.04.2007
Сообщений: 106
|
![]()
Спасибо, за подсказку и за совет! Но у меня еще вопросю Я сделал все так как вы мне посоветовали, если сначала выбрать вариант из списка, а потом внести данные в строки ввода, то получается ошибка! Подскажите, как от нее избавиться!?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите разобраться | Tanuska___:) | БД в Delphi | 1 | 04.09.2008 14:56 |
Помогите разобраться с С++ | igroman | Общие вопросы C/C++ | 1 | 03.08.2008 23:15 |
Помогите разобраться! | SerSasha | Помощь студентам | 4 | 09.06.2008 10:00 |
Помогите разобраться! | Кот | Microsoft Office Excel | 3 | 14.08.2007 19:48 |