Подскажите еще такую вещь, пожалуйста). Как мне прервать процедуру или цикл не выходя из программы. Halt не подходит. А exit - не помогает.
Break (для цикла), или Exit (для процедуры) обязано работать... Показывай, как пробовала...
procedure passw;
begin
writeln('Для продолжения нажмите Enter или для выхода нажмите Esc');
q:=readkey;
if q=#27 then exit ;
.....
end;
И что? Не работает? Как ты это определила?
(просто по приведенному фрагменту я ничего не могу сказать, я не знаю, ни ОТКУДА вызывается процедура Passw, ни что ДАЛЬШЕ в ней происходит, при нажатии Enter-а)...
procedure passw;
begin
writeln('Для продолжения нажмите Enter или для выхода нажмите Esc');
q:=readkey;
if q=#27 then exit ;
writeln('Введите пароль');
end;
У меня не просит (если работает ТОЛЬКО этот код)... Я ж тебе говорю, совсем нет уверенности, что, например, в буфере клавиатуры что-нибудь не осталось с предыдущих вводов данных (если так - то в переменную q будет читаться то, что осталось в буфере, и, естественно, это будет не код Esc, и будет запрос пароля...).
В крайнем случае - добавляй перед выводом сообщения очистку буфера:
while keypressed do readkey;
Спасибо) Сейчас попробую)