philosoff's.community.forum

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » philosoff's.community.forum » Учеба и ВМК. » Прак!


Прак!

Сообщений 31 страница 37 из 37

31

3я прога

В общем, тема такая:

Я спрашиваю юзера: повторить?(y/n):

Как сделать, чтобы ничего кроме y или n он не мог ввести?/Как очищать буфер ввода?

Тупой пильщиковский макрос inch работает не как ReadKey, а как Read, т.е. ждёт нажатия Enter, а потом читает из буфера, и не очищает его за собой, то есть, если юзер введет, например: qwertyuiop, то y из этого ряда прога увидит (я читаю в цикле), а оставшийся кусок uiop автоматически пойдет в следующий текст (он остается в буфере ввода), чего мне естественно не надо

Как решить такую проблемку?

Эй, а где мой следующий пост?
В общем, я вспомнил про FLUSH

Отредактировано z-off (2006-04-10 18:59:51)

0

32

Господа, я предлагаю радикальный метод.
1) Пошлите пильщиковские макросы в зад. Там только два нормальных: finish и outstr, остальные - фигня.
2) Забейте на очистку экрана, при хорошем стиле программирования консольных приложений - это ошибка.
3) Меня проверяли, обрабатываю ли я псевдографику. Как я понял, это делать надо. Т.к. я человек линивый, то я фильтров не ставил и все прокатило.
4) Забейте на повторения и интерактивный режим. Если пользователю надо повторять, он напишет батник.
5) Не делайте дополнительны доввод символа 10 после получения клавиши 13 (энтер). Ваша программа перестанет правильно работать с текстовыми файлами, если их направить на ввод. Если пользователь ввод окончание строк в стиле UNIX, выводите в стиле UNIX.
6) Обработку энтера и табулятора не проверяют.
7) Используйте прерывания, функции биоса. Они намного лучше функций пильщикова.
8) Если в ТЗ написана хрень - делайте как считаете нужным.
9) В ТЗ местами действительно хрень.

0

33

4) Забейте на повторения и интерактивный режим. Если пользователю надо повторять, он напишет батник.

Ты Волку это говорил? Интересно, что он ответил. И что сказал бы Баула :)  :)
Не все ж юзеры такие продвинутые, чтобы .bat файлы писать :P

9) В ТЗ местами действительно хрень.

+1

Отредактировано z-off (2006-04-10 19:01:40)

0

34

а чо такое тз? :blink:

0

35

ТЗ - техничесокое задание. Бумажка с требованиями к программе.
А про батник. Ну я просто руками каждый раз его заново запускал. В нормальных консолях повторный запуск приложения - вверх, энтер. Столько же действий, сколько y, энтер. Зато выходить не надо.
И поверьте, нормальные приложения не спрашивают "Повторить?".

0

36

Хотя все наши это знают и помнят, но всё-таки:

"Пильщиков решил вести себя, как Паскаль-Машина" - (с) В.Г. Баула

0

37

Я спрашиваю юзера: повторить?(y/n):

Как сделать, чтобы ничего кроме y или n он не мог ввести?

Проверка на "Y"/"N":

V2: inch ah
      cmp ah,'y'
      jne V3
      jmp Begin ; на метку начала проги
V3: cmp ah,'n'
      jne V2

0


Вы здесь » philosoff's.community.forum » Учеба и ВМК. » Прак!