Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2009, 17:53   #1
ciev
Новичок
Джуниор
 
Регистрация: 27.03.2009
Сообщений: 2
По умолчанию Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12.

Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12.
Заранее благодарен за ответы.
ciev вне форума Ответить с цитированием
Старый 17.04.2009, 18:02   #2
Creadth
 
Регистрация: 17.04.2009
Сообщений: 8
По умолчанию

1) Что значит цифры от 0 до 12? Цифры они и в африке 0 - 9
2) В Edit и так вводится любой символ
Creadth вне форума Ответить с цитированием
Старый 17.04.2009, 18:06   #3
ciev
Новичок
Джуниор
 
Регистрация: 27.03.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Creadth Посмотреть сообщение
1) Что значит цифры от 0 до 12? Цифры они и в африке 0 - 9
2) В Edit и так вводится любой символ


procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
var
ci:integer;
ix,iy:integer;
CEdit:TEdit;
begin
for iy:=1 to 12 do
for ix:=1 to 12 do
if Sender is TEdit then
if (Sender as TEdit)=CEdits[ix,iy] then
CEdit:=CEdits[ix,iy];
if (Sender as TEdit)=CEdits[12,12] then
Exit;
if not(Key in['0'..'9',#8]) then
Key:= #0;
if Key <> #8 then begin
ci:=CEdit.ComponentIndex;

вот здесь можно как то добавить чтоб вводились цифры 10,11,12?а то вводятся только от 0 до 9.
ciev вне форума Ответить с цитированием
Старый 17.04.2009, 18:14   #4
Creadth
 
Регистрация: 17.04.2009
Сообщений: 8
По умолчанию

Эммм... Хотелось бы заметить, что цифры это 0,1,2,3,4,5,6,7,8,9 а 10,11,12 это комбинация цифр. Если вы хотите чтобы в Edit вводились только цифры, удобнее будет использовать MaskEdit. Там сразу можно указать чтобы вводились лишь цифры.
Creadth вне форума Ответить с цитированием
Старый 18.04.2009, 09:23   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

лучше использовать компонент TSpinEdit с вкладки samples
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2009, 08:04   #6
CahekG
Пользователь
 
Регистрация: 25.02.2009
Сообщений: 28
По умолчанию

В указанном коде вообще водятся любые числа.
(Если конечно при создании не указано CEdits[ix,iy].MaxLength:=1;? то поменять на 2)
А для контроля можно проверять примерно так:
Код:
 val((Sender as TEdit).Text+key,i,j);//пробуем перевести текст в число, который будет
                                //  после ввода символа из key
                        

 IF (i>12) or ((Sender as TEdit).Text='0') THEN  (Sender as TEdit).Text:=''
// при нажимании цифровой клавиши текст очищаеся если там 0
// чтоб не получались числа типа 01,02..09 и больше 12
А вообще для чего нужна переменная Cedit? Для уменьшения размера исходного кода?
Код:
ci:=(Sender as TEdit).ComponentIndex;

Последний раз редактировалось CahekG; 19.04.2009 в 08:34.
CahekG вне форума Ответить с цитированием
Старый 14.05.2016, 17:45   #7
Militia
 
Регистрация: 14.05.2016
Сообщений: 4
По умолчанию

Вот простой и легкий код:
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['1'..'9','0']) then Key:=#0;n:=strtoint(edt1.text);if n>12 then edt1.text:='';
end;
end.

Последний раз редактировалось Militia; 14.05.2016 в 17:50.
Militia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34
Пожалуйста, подскажите можно ли и как сделать в Excel расчёт процентов? magi Microsoft Office Excel 8 28.09.2007 22:48
Как сделать так, чтобы в компонент edit вводились цифры и аналогично с буквами? Askat Общие вопросы Delphi 6 22.08.2007 21:00
Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая пр Kamikadze_666 Помощь студентам 2 23.05.2007 02:48