![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перехват нажатия клавиши в консольном приложении
Дева © (2006-02-22 19:48:00)Здравствуйте мастера, подскажите пожалуйста. В Паскале процедура ReadKey считывала с клавиатуры вводимый символ. Однако это процедура относиться к модулю CRT, а в Дельфи вообще не принимается. Каким образом считывать с клавиатуры в консольном приложении? И есть ли возможность как-то привязать паскалевский модуль с расширением tpu, или может где взять его?
Заранее спасибо
Tonich (2006-02-23 10:57:00) [1]ну вот как у меня сделано
var
Continue:BOOL;
iBuf:TInputRecord;
iEvent:DWORD;
function GetConInputHandle : THandle;
begin
Result := GetStdHandle(STD_INPUT_HANDLE)
end;
procedure .....;
begin
ReadConsoleInput(GetConInputHandle,iBuf,1,iEvent);
case iBuf.EventType of
KEY_EVENT:
begin
if (iBuf.Event.KeyEvent.bKeyDown) and
(iBuf.Event.KeyEvent.wVirtualKeyCode = VK_ESCAPE)
then Continue := False;
end;
end;
end;
ну и собственно цикл обработки сообщение
Continue := True;
while Continue do ProcessedEvents;
да и насчет вывода русских букв в консоле
> sunwheel1 (23.02.06 09:42) [8]
sunwheel1 (2006-02-23 09:42:00) [2]>Дева © (22.02.06 20:12) [7]
Только учти, что при выводе русских букв в консоли тебе придеться использовать CharToOem, иначе увидишь одни коряги вместо русских букв.
Дева (2006-02-22 20:12:00) [3]А с клавиатурой что работает?
Меня просто интересует аналог ReadKey, быстро и сердито
Мне курсовую надо сделать на Паскале, только у меня паскаль не хочет работать с русским шрифтом напрочь! Вот и решила его сделать на Дельфи, в консоле.
Надо как-то так, чтобы долго не заморачиваясь...
Джо (2006-02-22 20:08:00) [4]> [5] Дева © (22.02.06 20:07)
> ReadConsole
> ReadConsoleInput
> А это что за процедуры? Из какого модуля?
Это WinAPI-функции для работы с консолью. Делфи-прототипы объявлены в Windows.pas.
Дева (2006-02-22 20:07:00) [5]2 Джо
ReadConsole
ReadConsoleInput
А это что за процедуры? Из какого модуля?
Джо (2006-02-22 20:02:00) [6]ReadConsole
ReadConsoleInput.
Дева (2006-02-22 20:02:00) [7]Эта процедура разве не с файлом работает?
Дева (2006-02-22 19:58:00) [8]Что эта функция делает?
Мне нужно перехват каждой клавиши произвести, то есть настроить фильтр ввода...
umbra (2006-02-22 19:55:00) [9]а чем не устраива.т функции
read/readlnиз модуляSystemделфи?