Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

CRT и Console   Найти похожие ветки 

 
Evgeny   (2003-06-13 08:25) [0]

Имеется CRT модуль для консольного приложения, но есть маленькая проблема, функция ReadKey в нем реализована без ожидания нажатия клавиши, и нет возможности проверить были ли нажаты клавиши Shift, Ctrl, Alt. Где найти более точную реализацию указанной функции совместимую с 7 Pascal`ем?


 
Holy   (2003-06-13 10:24) [1]

Организуй ожидание сам.
repeat
c:=ReadKey;
until c<>#0;

И все.
Даже если потом этот код запустить на Паскале 7. Он будет работать корректно.


 
Evgeny   (2003-06-13 10:52) [2]

Увы это консольное 32 битное приложение и опрос ведется с помощью ReadConsoleInput. Сделать цикл не проблема, проблема правильно получить комбинации типа Alt+


 
Bachin   (2003-06-13 13:18) [3]

могу посоветовать ссылки на готовые реализации. принцип такой:
procedure ProcessConsoleEvents;
var
I: Integer;
EventCount, EventsRead: DWORD;
InputRecord: TInputRecord;
begin
EventCount := 0;
GetNumberOfConsoleInputEvents(InHandle, EventCount);
for I := 1 to EventCount do
begin
ReadConsoleInput(InHandle, InputRecord, 1, EventsRead);
if InputRecord.EventType = KEY_EVENT then
HandleKeyEvent(InputRecord)
else if InputRecord.EventType = MOUSE_EVENT then
HandleMouseEvent(InputRecord);
end;
end;

ну а дальше смотришь:
InputRecord.Event.KeyEvent.dwControlKeyState;

ну и:
if InputRecord.Event.KeyEvent.bKeyDown then
begin
VirtualKeyCode := InputRecord.Event.KeyEvent.wVirtualKeyCode;


 
Evgeny   (2003-06-13 14:14) [4]

Ссылки это интересно, подкинь.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.027 c
14-84539
kaif
2003-06-03 17:30
2003.06.26
Можно ли переименовывать таблицы?


1-84330
Shluz
2003-06-15 20:17
2003.06.26
Clipboard Viewer


1-84166
Muskat
2003-06-11 13:54
2003.06.26
pchar


8-84464
JeskelA
2003-03-07 09:42
2003.06.26
Захват изображения рабочего стола


14-84725
han_malign
2003-06-05 16:10
2003.06.26
К вопросу об очередной встрече Мастаков в Москве...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский