Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 40

контроль правильности ввода

29.12.2011, 11:10. Показов 3859. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программе должен быть реализован контроль правильности ввода цифровых значений входных параметров (недопустимость введения букв в числовые поля).
Как сто сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.12.2011, 11:10
Ответы с готовыми решениями:

Проверка правильности ввода в DBGrid
Как реализовать проверку правильности пользовательского ввода данных в таблицу? В каком обработчике событий? Например, если пользователь...

Как обеспечить контроль правильности вводимых данных в калькуляторе?
Создала программу калькулятор, преподаватель дал дополнительное задание: Обеспечить контроль правильности вводимых данных. Например, при...

Контроль ввода даты и выдача сообщения в случае ошибки неверного ввода
Здравствуйте! У меня есть такая вот форма(скрин ниже). Смысл в том, что если пользователь введет в дате не дату(а там стоит тип данных -...

10
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.12.2011, 11:42
обрабатывай событие onKeyPress
0
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 40
29.12.2011, 11:56  [ТС]
да, что бы при вводе в едит букв выдавало сообщение о неправильном вводе данных
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.12.2011, 12:02
ну, что даже на такое знаний не хватает?
у события onKeyPress есть параметр Key - это и есть тот символ что ввели в edit
0
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 40
29.12.2011, 12:09  [ТС]
anonimus, ето понятно, я сделал в одном едите запрет на ввод букв
Delphi
1
2
3
4
procedure TForm1.edNKeyPress(Sender: TObject; var Key: Char);
begin
    if not (Key in [#8,'0'..'9',',']) then Key := #0;
end;
а во втором едите мне надо сделать что бы при вводе букв появлялось сообщения такого вида "Неправилный ввод. Используйте только цифры"
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.12.2011, 12:26
ну и в чем трудность то?
Delphi
1
ShowMessage('Неправилный ввод. Используйте только цифры');
в место
Delphi
1
Key := #0;
1
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 40
29.12.2011, 12:56  [ТС]
anonimus, дальше у меня такая проблемка, после появления сообщения я нажимаю ок и появляется ошибка
Project2.exe raised exception class EConvertError with message "s" not a valid integer valu'.Process stopped. Use Step or Run continue.
И я не знаю что с ним делать
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.12.2011, 13:00
я не экстрасенс
0
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 40
29.12.2011, 18:07  [ТС]
anonimus, еще такой вопрос, если я ввожу в едит минусовое число, то должен выскакивать сообщение "Только додатные значения".
Как такое написать?
0
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
19.01.2012, 10:20
<raised exception>
Delphi->tools->Debugger options->Language exception->Sopt on Delphi Exception(снять галку)
В программе использовать конструкцию
try
except
(вот здесь и обрабатывай ошибку)
end
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
19.01.2012, 14:27
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
function MS_ComFnCheckSymbolForFloatText(Edit: TEdit; Key: Char): Char;
// Функция проверки введенного символа на корректность при вводе чисел
// (Рекомендуется для использования в обработчике TEdit.OnKeyPress)
//  - Edit - указатель на TEdit, который принимает введенный символ
//  - Key - код введенного символа;
begin
  result := Key;
  with Edit do
    if not (Key in ['0'..'9','-',DecimalSeparator,Char(VK_BACK),Char(VK_TAB)]) or
       ((Key=',') and (Pos(Key,Text)>0)) or
       ((Key='-') and ((Pos(Key,Text)>0) or (SelStart>0))) then result := #0;
end;
Использование:

Delphi
1
2
3
4
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Key := MS_ComFnCheckSymbolForFloatText(TEdit(Sender),Key);  
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2012, 14:27
Помогаю со студенческими работами здесь

Контроль ввода даты в MaskEdit и выдача сообщения в случае ошибки неверного ввода
Всем доброго дня! Использую MaskEdit для ввода даты формат: dd/mm/yyyy Помогите написать обработчик выдачи ошибки в ShowMessage...

проверка правильности ввода
Как проверить что Edit введено положительное число, а не буква или другие символы?

Проверка правильности ввода даты
Ввожу дату в Edit, проверка идёт правильно, но он не учитывает нули, скрин приложил. Как поставить ограничение, по типу день-2 символа,...

Проверка правильности ввода в поле Edit
как сделать проверку правильности ввода в поле Edit, чтобы исключить недопустимые символы? Нужно чтобы при вводе в поле Edit1 любых...

Поток: проверка правильности ввода числа
Создайте приложение, которое в фоновом режиме проверяет правильно введенные числа. На главной форме разместите два многострочных редактора....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru