![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.06.2010
Сообщений: 11
|
![]()
Здраствуйте, подскажите как реализовать контроль ввода в консоли?Например чтобы ничего не вводилось кроме цифр и точки и нельзя было ввести точку больше 1 раза.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) какой Паскаль? Turbo Pascal или Delphi ? (консоль принципиально разная!)
2) вообще-то, два варианта: A. давать вводить что хочешь. ввод осуществлять в строку. После ввода проверять, что там ввели (например, самый действенный и простой способ - проверять через VAL() ) - если ввели неверно - сообщение об ошибке -> переход на начало цикла ввода (повтор ввода). B. осуществлять ввод нажимаемых клавиш (в TurboPascal - Readkey()) и анализировать, что же нажали. Если нажаты не те клавиши, игнорировать их, например... Но в этом случае прийдётся реализовывать простейший однострочный редактор (ну, как минимум нужна обработка клавиши "BackSpace" - в идеале - движение стрелками курсора, Delete, вставка/замена и т.д..) В принципе тоже ничего сложного, но в пару строк кода не уложишься, конечно... |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 27.06.2010
Сообщений: 11
|
![]() Цитата:
Первый вариант не годится.Требуют обработку именно во время ввода. Можно поподробнее про второй вариант?Как мне проигнорировать символ во время ввода? |
|
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
![]() Цитата:
http://www.programmersforum.ru/showp...64&postcount=4 http://www.programmersforum.ru/showthread.php?t=16317 http://www.programmersforum.ru/showthread.php?t=120107 |
||
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 27.06.2010
Сообщений: 11
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.06.2010
Сообщений: 11
|
![]()
Кстати, при использовании этого файлика (crt32.pas) многие русские буквы перестают отображаться.Не знаю с чем это связано, но я должен был предупредить тех, кто решится его использовать)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Timer в консольном приложении | Lauri | Общие вопросы Delphi | 8 | 05.04.2011 04:20 |
Графика в консольном приложении. | Акунёк | Общие вопросы C/C++ | 11 | 19.03.2011 20:50 |
Вывод в консольном приложении | Акунёк | Общие вопросы C/C++ | 6 | 16.02.2011 18:01 |
Проблема с ClientSocket в консольном приложении | prod87 | Работа с сетью в Delphi | 1 | 18.07.2010 14:48 |