Страница 1 из 1
Останов программы до нажатия клавиши. TP7
Добавлено: 10 окт 2006, 17:56
pitby
Недавно пересел с изученного basic'a на неизведанный tp 7.1. Мне нужно, чтобы прога в процессе выполнения тормознула и подождала, пока я нажму эникэй, и потом работала дальше. В basic'e были команды stop,pause,system. Есть ли такие команды в tp?
Добавлено: 10 окт 2006, 20:52
Oscar
basic - это не тот, что VBA? а тот что с циферками в каждой строчке? ))
ностальгия :-)
по вопросу:
Код: Выделить всё
begin
Write('Press any key to continue...');
Readln;
Write('Thank you!');
end.
если будет ждать нажатия Enter, вместо
Readln можно попробовать
readkey
P.S. было бы не плохо, если бы тема сообщения отображала суть вопроса
Добавлено: 10 окт 2006, 21:13
pitby
Неа... QBasic. Но надеюсь, что ностальгию не обломал)
За код сенкс, про ридкей я знаю, но он играет немного иную роль. Значит, буду юзать кидлн без параметров.
Добавлено: 11 окт 2006, 12:48
Игорь Акопян
вспоминается конструкция
это не с ТП? склероз...
Добавлено: 11 окт 2006, 13:52
BBB
[quote="Игорь Акопян"]вспоминается конструкция
Код: Выделить всё
repeat
until KeyPressed][/quote]
Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша):
[code]while KeyPressed do
ch := ReadKey;
Добавлено: 11 окт 2006, 15:03
Игорь Акопян
BBB, это просто всплыло в памяти, типа "делать чего-то пока не топнули кнопку". Акцент собсно на функции KeyPressed был
Добавлено: 11 окт 2006, 20:33
pitby
Извиняюс, походу возникла ещё одна проблемка. Как сделать экзэшник из откомпиленого кода?
Добавлено: 11 окт 2006, 21:32
YurikGL
BBB писал(а):Игорь Акопян писал(а):вспоминается конструкция
Код: Выделить всё
repeat
until KeyPressed][/quote]
Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша):
[code]while KeyPressed do
ch := ReadKey;
Вспоминается конструкция
Если просто ch := ReadKey и нажата клавиша, возвращающая два байта, то в коммандную строку может второй байт возвратиться и отобразиться в ней.
Как сделать экзэшник из откомпиленого кода?
[/quote]
Ты его во что компилишь?
Добавлено: 11 окт 2006, 23:47
AiK
pitby, только не надо делать топик обо всём, ок?
Добавлено: 12 окт 2006, 09:24
BBB
[quote="YurikGL"][quote="BBB"][quote="Игорь Акопян"]вспоминается конструкция
Код: Выделить всё
repeat
until KeyPressed][/quote]
Тогда уж (чтобы не оставлять в буфере клавиатуры сделанных нажатий, которых может быть более одного, если нажата функциональная клавиша):
[code]while KeyPressed do
ch := ReadKey;
[/quote]
Вспоминается конструкция
Если просто ch := ReadKey и нажата клавиша, возвращающая два байта, то в коммандную строку может второй байт возвратиться и отобразиться в ней.[/quote]
Ну да, тоже вариант.
Кстати, до меня дошло, что мой пример был в корне не верный

Там нет никакого ожидания нажатия. Там не получится никакого ожидания, ведь KeyPressed "сходу" вернет FALSE, и цикл сразу же завершится.
Правильнее, пожалуй, так:
Код: Выделить всё
repeat
ch:= ReadKey;
until (NOT KeyPressed);
То есть, очень похоже на то, как было в примере у
Игорь Акопян.