Здравствуйте Эксперты! У меня в Паскале клавиша "Н" и стрелка дают одно и тоже значение от процедуры readkey, как их различить!?
Вопрос отправлен: 01.05.2002, 10:38
Отправитель: megalama [Следующий вопрос >>]
Отвечает Zloy
Добрый день, megalama! Используй функцию в приложении.
Приложение: Ответ отправлен: 01.05.2002, 21:11 Отправитель: Zloy Отвечает Andre Lukichov
Приветствую Вас, megalama! при нажатии специальных клавиш в readkey передается два символа: первый 0 и второй - код расширенной клавиши. var key : char; begin key := readkey; if key=#0 then key=readkey; {обработка нажатия} end;
Ответ отправлен: 02.05.2002, 16:00 Отправитель: Andre Lukichov Отвечает Dark_Lord
Приветствую Вас, megalama! Функция readkey получает ASCII код клавиши, а вам нужен расширеный ASCII. Он даётся двумя байтами, причём первый пустой! Ваша программа принимает оба и показывает вам последний.
Приложение: Ответ отправлен: 01.05.2002, 10:46 Отправитель: Dark_Lord Отвечает Топор
Приветствую Вас, megalama! Сделай второй вызов ReadKey. В первом случае она у тебя сразу дала ASCII-код, а во втором - ASCII и скан-код. Ну и вторым вызовом скан-код вытаскивается. Удачи!
Ответ отправлен: 01.05.2002, 14:33 Отправитель: Топор
Вопрос № 10
Требуется в программе на паскале написать процедуру на ассемблере, которая упорядочивает одномерный массив по возрастанию. Как передать в процедуру массив вроде разобрался,а вот как получить отсортированный массив непонятно.
Доброе время суток, Oleg! Можно попробовать сохранить offset massiv и seg massiv в pointer(или каждый отдельно в переменную), а потом из этого pointera читать! Ответ отправлен: 01.05.2002, 12:28 Отправитель: Dark_Lord Отвечает Sensey
Доброе время суток, Oleg! Так ты его передавай как var procedure Sort(var a:TArray) тогда он прямо исходный сортироывать будет, и быстрее работает - то ли передать 4 байта адреса массива, то ли весь массив в стеке разместить...
Ответ отправлен: 02.05.2002, 10:31 Отправитель: Sensey
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.