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

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

edit1


ymin ©   (2002-04-23 13:51:00) 

Как написать код, чтобы в Tedit1 можно было написать только число от 1 до 300?


В.И.Чапаев   (2002-04-24 04:18:00) [1]

в событии onkeypressпишешь case Key of
"0".."9": ;
#8: ;
#13: ;
else key:=chr(0);
end;


а в onchange
if strtoint(edit1.text)>300 then edit1.text:=inttostr(300);
if strtoint(edit1.text)<1 then edit1.text:=inttostr(1);



Shrek   (2002-04-23 17:12:00) [2]

только onchange.
или компонент SpinEdit


Андрей Сенченко   (2002-04-23 16:37:00) [3]

>> Игорь Шевченко © (23.04.02 14:59)
>> Вы это всерьез? :-)

Применительно к конкретному классу TRxCalcEdit - а почему бы и нет ? :::::)))))))))


Игорь Шевченко   (2002-04-23 14:59:00) [4]

День добрый, Андрей Сенченко ©,


> Используя все готовенькое, ИМХО, сложно научиться чему-либо


Это так, но при этом, обычно подразумевается собственная мыслительная работа или изучение учебных пособий/чужих исходных текстов, а не поиски готовых ответов на вопрос: "А как ...?"


> Пусть уж пару раз сам сделает то, что сделали разработчики
> RX


Вы это всерьез? :-)

С уважением,


PaRL   (2002-04-23 14:54:00) [5]


> Используя все готовенькое, ИМХО, сложно научиться чему-либо.

Ага. Я когда совсем чайником был и когда списывал примеры из книги, это нихрена не помогло научиться чему-либо, ну разве что несколько функций узнавал, а вот когда сам скрипя зубами начнешь разбираться, тогда и результат будет.


Anatoly Podgoretsky   (2002-04-23 14:52:00) [6]

Нет смысла делать какие либо проверки в onChange достаточно про верить при выходе или при закрытии. Закрытие может произойти и без выхода.


Song   (2002-04-23 14:46:00) [7]

На onChange Вам нужно сначла проверять вводит ли пользователь числа, а потом переводить в число и проверять больше ли оно 300


Андрей Сенченко   (2002-04-23 14:43:00) [8]

>> Игорь Шевченко © (23.04.02 14:06)
>> А не проще ли использовать TRxCalcEdit

В данном случае не проще. Судя по постам, ymin ©только начинает что-то по серьезному писать и вроде как стремится понять то, что делает.
Используя все готовенькое, ИМХО, сложно научиться чему-либо. Пусть уж пару раз сам сделает то, что сделали разработчики RX ( кстати я не думаю, что у них этот вопрос решен кардинально в сторону от обработки событий ввода ), а потом в случае необходимости срочно что-то сделать юзает сторонние наборы компонент


gek   (2002-04-23 14:26:00) [9]

procedure edit1onexit(sender:tobject);
var
i:integer;
begin
i:=strtointdef(edit1.Text,0);
if (i= 0)or(i>300)then
begin
Showmessage("Ну ну")
edit1.SetFocus;
end;
end;


ymin   (2002-04-23 14:08:00) [10]

а где взять это? TRxCalcEdit


ymin   (2002-04-23 14:07:00) [11]

>> gek
а как это?
Например??


Игорь Шевченко   (2002-04-23 14:06:00) [12]

День добрый,

А не проще ли использовать TRxCalcEdit и установить у него Min и Max ?
И пользователю приятнее будет тем, что он не сможет ввести что угодно и получить сообщение об ошибке при проверке, а сразу поймет, что вводить можно только число от 1 до 300 :-))

С уважением,


Андрей Сенченко   (2002-04-23 14:03:00) [13]

Можно конечно контролировать OnChange, но уж слишком громоздко получится


gek   (2002-04-23 13:58:00) [14]

Обработай OnExit


ymin   (2002-04-23 13:57:00) [15]

а простите как?


Anatoly Podgoretsky   (2002-04-23 13:56:00) [16]

Зачем ограничиваешь пользователя, пусть пишет что угодно, а ты проконтролируй результат.


Наверх

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