Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.11.2014, 19:07
Aleks N. Aleks N. вне форума
Прохожий
 
Регистрация: 16.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию Как сделать ограничение ввода в поле

Есть калькулятор перевода чисел из любой системы в любую. Необходимо сделать ограничение на этапе ввода в восьмеричной системе, в поле не должны вводиться 8 и 9. Как это реализовать, возможно ли это, помогите пожалуйста.
Ответить с цитированием
  #2  
Старый 29.11.2014, 19:12
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Для эдита
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'7']) then Key :=#0;
end;
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aleks N. (29.11.2014)
  #3  
Старый 29.11.2014, 19:21
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Есть ф-я CharInSet.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #4  
Старый 29.11.2014, 19:26
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Её в семёрке нет
Ответить с цитированием
  #5  
Старый 29.11.2014, 20:12
Aleks N. Aleks N. вне форума
Прохожий
 
Регистрация: 16.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Спасибо, но это немного не то что нужно. Если бы была задача перевода чисел только из одной системы в любую другую, то выше написанное помогло, но у меня их намного больше. Так что не знаю, придется делать отдельные поля для других систем? Программа же не может распознать сразу в какую и из какой системы будет производиться перевод.

Последний раз редактировалось Aleks N., 29.11.2014 в 20:16.
Ответить с цитированием
  #6  
Старый 29.11.2014, 20:17
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вопрос ведь был про ограничение. Просто добавьте в квадратные скобки через запятую нужное, напр.
,'A','B','C','D' ,#8 (бекспейс) etc.

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

Последний раз редактировалось Alegun, 29.11.2014 в 20:32.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Aleks N. (29.11.2014)
  #7  
Старый 29.11.2014, 20:44
Aleks N. Aleks N. вне форума
Прохожий
 
Регистрация: 16.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Спасибо, разобрался, через KeyPress реализовал.

Последний раз редактировалось Aleks N., 29.11.2014 в 22:30.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:22.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025