
Сообщение отредактировано: -=АнЮтА=- -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-=АнЮтА=- |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 55 Пол: Женский Реальное имя: АнЯ Репутация: ![]() ![]() ![]() |
Подскажите еще такую вещь, пожалуйста). Как мне прервать процедуру или цикл не выходя из программы. Halt не подходит. А exit - не помогает.
![]() Сообщение отредактировано: -=АнЮтА=- - |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Break (для цикла), или Exit (для процедуры) обязано работать... Показывай, как пробовала...
|
-=АнЮтА=- |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 55 Пол: Женский Реальное имя: АнЯ Репутация: ![]() ![]() ![]() |
procedure passw;
begin
writeln('Для продолжения нажмите Enter или для выхода нажмите Esc');
q:=readkey;
if q=#27 then exit ;
.....
end;
Примерно вот так) ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
И что? Не работает? Как ты это определила?
(просто по приведенному фрагменту я ничего не могу сказать, я не знаю, ни ОТКУДА вызывается процедура Passw, ни что ДАЛЬШЕ в ней происходит, при нажатии Enter-а)... |
-=АнЮтА=- |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 55 Пол: Женский Реальное имя: АнЯ Репутация: ![]() ![]() ![]() |
procedure passw;
begin
writeln('Для продолжения нажмите Enter или для выхода нажмите Esc');
q:=readkey;
if q=#27 then exit ;
writeln('Введите пароль');
end;
Процедура вызывается в программе. Хочу, чтоб если нажат Esc - процедура завершала работу. А если не нажат - то просит ввести пароль. Добавлено через 2 мин. Если нажимаю Esc - она все равно просит пароль((( |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
У меня не просит (если работает ТОЛЬКО этот код)... Я ж тебе говорю, совсем нет уверенности, что, например, в буфере клавиатуры что-нибудь не осталось с предыдущих вводов данных (если так - то в переменную q будет читаться то, что осталось в буфере, и, естественно, это будет не код Esc, и будет запрос пароля...).
В крайнем случае - добавляй перед выводом сообщения очистку буфера: while keypressed do readkey;
|
-=АнЮтА=- |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 55 Пол: Женский Реальное имя: АнЯ Репутация: ![]() ![]() ![]() |
Спасибо) Сейчас попробую)
|
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 0:46 |