Останов программы до нажатия клавиши. TP7
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Недавно пересел с изученного basic'a на неизведанный tp 7.1. Мне нужно, чтобы прога в процессе выполнения тормознула и подождала, пока я нажму эникэй, и потом работала дальше. В basic'e были команды stop,pause,system. Есть ли такие команды в tp?
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
basic - это не тот, что VBA? а тот что с циферками в каждой строчке? ))
ностальгия :-)
по вопросу:
если будет ждать нажатия Enter, вместо Readln можно попробовать readkey
P.S. было бы не плохо, если бы тема сообщения отображала суть вопроса
ностальгия :-)
по вопросу:
Код: Выделить всё
begin
Write('Press any key to continue...');
Readln;
Write('Thank you!');
end.
P.S. было бы не плохо, если бы тема сообщения отображала суть вопроса
Неа... QBasic. Но надеюсь, что ностальгию не обломал)
За код сенкс, про ридкей я знаю, но он играет немного иную роль. Значит, буду юзать кидлн без параметров.
За код сенкс, про ридкей я знаю, но он играет немного иную роль. Значит, буду юзать кидлн без параметров.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
вспоминается конструкция
это не с ТП? склероз...
Код: Выделить всё
repeat
until KeyPressed;

[quote="Игорь Акопян"]вспоминается конструкция
Код: Выделить всё
repeat
until KeyPressed][/quote]
Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша):
[code]while KeyPressed do
ch := ReadKey;
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
BBB, это просто всплыло в памяти, типа "делать чего-то пока не топнули кнопку". Акцент собсно на функции KeyPressed был
Извиняюс, походу возникла ещё одна проблемка. Как сделать экзэшник из откомпиленого кода?
[/quote]BBB писал(а):Вспоминается конструкцияИгорь Акопян писал(а):вспоминается конструкцияКод: Выделить всё
repeat until KeyPressed][/quote] Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша): [code]while KeyPressed do ch := ReadKey;
Если просто ch := ReadKey и нажата клавиша, возвращающая два байта, то в коммандную строку может второй байт возвратиться и отобразиться в ней.Код: Выделить всё
ch:=ReadKey; if ch=#00 then ch:=ReadKey;
Как сделать экзэшник из откомпиленого кода?
Ты его во что компилишь?
pitby, только не надо делать топик обо всём, ок?
Даже самый дурацкий замысел можно воплотить мастерски
[quote="YurikGL"][quote="BBB"][quote="Игорь Акопян"]вспоминается конструкция
[/quote]
Вспоминается конструкция
Если просто ch := ReadKey и нажата клавиша, возвращающая два байта, то в коммандную строку может второй байт возвратиться и отобразиться в ней.[/quote]
Ну да, тоже вариант.
Кстати, до меня дошло, что мой пример был в корне не верный
Там нет никакого ожидания нажатия. Там не получится никакого ожидания, ведь KeyPressed "сходу" вернет FALSE, и цикл сразу же завершится.
Правильнее, пожалуй, так:То есть, очень похоже на то, как было в примере у Игорь Акопян.
Код: Выделить всё
repeat
until KeyPressed][/quote]
Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша):
[code]while KeyPressed do
ch := ReadKey;
Вспоминается конструкция
Код: Выделить всё
ch:=ReadKey;
if ch=#00 then ch:=ReadKey;
Ну да, тоже вариант.
Кстати, до меня дошло, что мой пример был в корне не верный

Правильнее, пожалуй, так:
Код: Выделить всё
repeat
ch:= ReadKey;
until (NOT KeyPressed);