![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в Edit вводить только цифры? [D7, Win2k]
BaxTMaH © (2005-09-27 12:24:00)Задача написать калькулятор. Что лучше всего использовать для ввода цифр? Компонент Edit? И как ввести дробные числа туда? Если использовать Edit, то дробные числа надо переводить в string, а какой функцией это делается?
BaxTMaH (2005-09-27 13:55:00) [1]Это было ламерство -))
Написал что надо отнимать из последней введенной цифры предыдущую, а не наоборот. Ну я просто скопировал строку из "плюса и умножение", а там то пофиг что на что умножать -))
IceBeerg (2005-09-27 13:52:00) [2]BaxTMaH © (27.09.05 13:34) [11]
ахез, забей, просто умнож на -1
IceBeerg (2005-09-27 13:52:00) [3]BaxTMaH © (27.09.05 13:44) [12]
А че было то? Интересна...
BaxTMaH (2005-09-27 13:44:00) [4]Во я даюююю..... -))) вот я ламер то -))
На предыдущий вопрос мона не отвечать -)
BaxTMaH (2005-09-27 13:34:00) [5]Во, с твоим дополнением уже заработало! Спасибо!
У меня при вычитании все равно остается минус -) даже если первое число больше второго, почему?
BaxTMaH (2005-09-27 13:30:00) [6]хмм, так куда надо вставлять строку edit1.ReadOnly := not (key in ['0'..'9', DecimalSeparator, #8]); , я вставляю ее в событие формы кейдаун, и мне выдается что несоответствие типов ворд и чар
IceBeerg (2005-09-27 13:30:00) [7]BaxTMaH © (27.09.05 13:21) [7]
А мне пришлось строку вEdit1KeyDownдоплнить...edit1.ReadOnly := not ( Chr(key )in ['0'..'9', DecimalSeparator, #8]);
IceBeerg (2005-09-27 13:28:00) [8]BaxTMaH © (27.09.05 13:11) [6]
#8 - помоему backspace, #0 - ну незнаю, символ такой, помоему нихрена означает, нормального названия непомню...
Да, и можно обрабатывать стрелики и delete, для редактирования вводимого числа
BaxTMaH (2005-09-27 13:21:00) [9]И еще, я скопировал строку edit1.ReadOnly := not (key in ['0'..'9', DecimalSeparator, #8]); и вставил ее в обработчик нажания клавиши, но мне выдается что key - необъявленная переменная, надо что то подключить?
BaxTMaH (2005-09-27 13:11:00) [10]Ого, сколько ответов! -)) Спасибо! Только вопрос, а что значит #8,#0??
Slider007 (2005-09-27 12:51:00) [11]или так
edit1.ReadOnly := not (key in ['0'..'9', DecimalSeparator, #8]);
stone (2005-09-27 12:51:00) [12]
> Slider007 © (27.09.05 12:42) [3]
> Rentgen © (27.09.05 12:37) [1]
>
> лучше так :
> edit1.ReadOnly := not (key in ['0'..'9', ',', #8]);
А если разделитель не запятая?
Slider007 (2005-09-27 12:42:00) [13]Rentgen © (27.09.05 12:37) [1]
лучше так :
edit1.ReadOnly := not (key in ['0'..'9', ',', #8]);
Rentgen (2005-09-27 12:38:00) [14]StrToFloat
FloatToStr
Rentgen (2005-09-27 12:37:00) [15]if not(Key in ['0'..'9'] + ['.']) then Key:=#0