Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
1-47443
N A N
2002-06-27 08:49
2002.07.15
Почему изменяется размер формы....


14-47724
rhf
2002-06-09 13:31
2002.07.15
есть Кнут в формате TEX....


1-47313
SDv-503
2002-07-01 00:17
2002.07.15
Как программно нажать на .... (+)


1-47587
Skywalker
2002-06-28 12:40
2002.07.15
Доступ к виз. комп. из других юнитов


1-47467
Dave
2002-07-03 16:08
2002.07.15
Системная палитра Windows




   Наверх