Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизAny key в Delphi... Найти похожие ветки
← →
Voldemar (2002-06-27 21:20) [0]Доброе время суток!
Подскажите, как в консольной проге сделать такую штуку...
В турбе я спокойно писАл
while not KeyPressed do
delay(0.01)
a в Делфах ни того, ни другого нет... Как?
← →
nimble (2002-06-28 03:04) [1]Помещаешь на форму компонент TApplicationEvents. У него по событию OnMessage пишешь:
if Msg.message=wm_keydown then ShowMessage("Код нажатой ... - "+IntToStr(Msg.wParam));
← →
nimble (2002-06-28 03:06) [2]Sory, про консоль не заметил!
← →
REaliSt (2002-06-28 16:46) [3]В консоли такая фишка не прокатывает.
Лучше в турбе и пиши.
← →
REaliSt (2002-06-28 16:47) [4]Или лучше в нормальной форме с использованием ApplicationEvents
← →
Voldemar (2002-06-29 01:24) [5]>REaliSt © (28.06.02 16:46)
В турбе крайне криво реализован TStringList, да и не уверен я, что вообще реализован. У меня была мысль сделать все там, но я отказался от нее - APIшные функции нужны...
Неужели же нет способа?
← →
Anatoly Podgoretsky (2002-06-29 10:59) [6]В Windows очень большое количество функция, для поддержки консольных приложений, больше 40 и было бы смешно думать что там нет ничего тебе нужного, тебе подойдет эта GetNumberOfConsoleInputEvents, учти ято консоль в Windows это не дос, к события ввода относятся не только ввод с клавиатуры, но и мышь и изменение размеров окна.
← →
VDen (2002-06-29 11:08) [7]Способ есть - вот вам функция KeyPressed на API.
function KeyPressed: Boolean;
Var irInBuf : TInputRecord;
W : DWord;
begin
KeyPressed := False;
if PeekConsoleInput(RHandle,irInBuf,1,W) then
if ( (irInBuf.EventType = Key_Event) and
(irInBuf.Event.KeyEvent.bKeyDown = true))
then
KeyPressed := true;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c