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

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

Как в 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


Наверх

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