Модераторы: Daevaorn
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Нужна функция ? 
:(
    Опции темы
Skorp
  Дата 9.2.2003, 18:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот я решил под с дос компилером побаловаться.
Но возникла проблема.
Мне нужна функция которая бы проверя нажата ли клавиша клавы и возвращала ее значение, но не ждала нажатия.
cool.gif
  Вверх
acp
Дата 9.2.2003, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

Репутация: нет
Всего: 2



В своих старых прогах посмотрел
Код
bioskey(1)

PM WWW ICQ   Вверх
Skorp
Дата 10.2.2003, 05:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я попробовал функцию bioskey(1), но она не очень то хорошо и работает.
сначало она возвращает 0, а после первого нажатия клавиши все время ее значения.
? Может можно обнулить ее результат что бы она заново могла считать .
? Или функция получше может есть
  Вверх
Alex101
Дата 10.2.2003, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: нет
Всего: 10



Что-то типа того:
Код

if(bioskey(1))
code=bioskey(0);

Буфер будет очищаться


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
Skorp
Дата 12.2.2003, 17:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Может кто занет как в досе сделать режим более чем на 640х480(16 цветов)
Например если бы 1024-768 256 или (32б) confused.gif

  Вверх
Alex101
Дата 12.2.2003, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: нет
Всего: 10



Использовать прерывание BIOS 10h.
Можно устанавливать различные режимы, но тут все зависит от видеоадаптера.
Вот кусочек кода - процедура установки расширенного видеорежима.
Код

_Set_Ext_Mode proc far
arg mode:word
       push    bp
       mov     bp,sp
       mov     ax,4F02h
       mov     bx,mode
       int     10h
       pop bp
ret
_Set_Ext_Mode endp

Но при выводе на экран есть некоторые траблы - вся область видеопамяти в ДОС недоступна, только фрагментами по 64 КБ (в реальном режиме), универсальные способы переключения банков медленные, а для каждого конкретного адаптера они азличны...



--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
neutrino
Дата 14.2.2003, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Hm ...

if (kbhit()) // esli klavishu najali to ...

P.S. Bufer klavy mojno otchistit' funkciei' getch()

Naprimer:

while (!kbhit()&&getch()=='q') {
cout<<endl<<"najmite klavishu Q";
}



--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
brb
Дата 15.2.2003, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 7.1.2003

Репутация: нет
Всего: нет



Преимущество bioskey() в том, что она возвращает скан-коды клавишь, т.е. я могу ей отловить все что угодно, а kbhit() нет. Под ДОС bioskey() во всех отношениях лучше, а вот под винды...это я не в курсах
--------------------
Сказки - удивительная вещь! Самое удивительное, что в них верят только маленькие дети, которым их рассказывают мамы и мамы, которым их рассказывают подросшие дети.
PM MAIL   Вверх
Skorp
Дата 16.2.2003, 17:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Может кто-нибудь знает как в c++ под дос мышь инициализировать в режиме 1024х768 256color и выше. Я инициализирую её по стандартному но она видна на экране только в 640х480 16color и ниже.
  Вверх
Baa
Дата 16.2.2003, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



КАЖДЫЙ НОВЫЙ ВОПРОС В ОТДЕЛЬНУЮ ТЕМУ


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.