Главная страница
Навигация по странице:

  • Переносимость

  • Назначение

  • Возвращаемое

  • Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования


    Скачать 3.41 Mb.
    НазваниеПодпрограммы классификации Подпрограммы преобразования
    АнкорСправочник по функциям С++.doc
    Дата07.05.2018
    Размер3.41 Mb.
    Формат файлаdoc
    Имя файлаСправочник по функциям С++.doc
    ТипДокументы
    #18992
    КатегорияИнформатика. Вычислительная техника
    страница19 из 120
    1   ...   15   16   17   18   19   20   21   22   ...   120

    biosequip


    ----------------------------------------------------------------
    Назначение Контроль оборудования.
    Синтаксис int biosequip (void)
    Прототип в bios.h
    Замечания Эта функция возвращает целое число, описывающее

    оборудование, связанное с системой. Для этого

    используется прерывание BIOS - 0x11.
    Возращаемое Возвращаемое значение интерпретируется как

    значение набор битовых полей. Для IBM PC эти значения

    таковы:
    бит 14-15 количество принтеров

    бит 13 не используется

    бит 12 наличие игрового адаптера

    бит 9-11 количество портов передачи данных

    бит 8 признак наличия DMA

    0 - есть DMA,

    1 - нет DMA,

    например - модель PC Jr

    бит 6-7 количество дисководов

    1 дисковод = 00,

    2 дисковода = 01,

    3 дисковода = 10,

    4 дисковода = 11, только если 0-ой

    бит равен 1

    бит 4-5 видео-режим

    00 = не используется

    01 = 40*25 черно-белый с цветным виде-

    оконтроллером

    10 = 80*25 черно-белый с цветным виде-

    оконтроллером

    11 = 80*25 черно-белый с монохромным

    видеоконтроллером

    бит 2-3 объем ОЗУ

    00 = 16К

    01 = 32К

    10 = 48К

    11 = 64К

    бит 1 сопроцессор с плавающей запятой

    бит 0 загрузка с дискеты
    Переносимость Эта функция работает только на IBM PC и

    совместимых моделях.

    ----------------------------------------------------------------

    bioskey


    ----------------------------------------------------------------
    Назначение Интерфейс клавиатуры.
    Синтаксис int bioskey (int cmd)
    Прототип в bios.h
    Замечания Эта функция выполняет различные операции с

    клавиатурой, используя при этом прерывание 0х16

    BIOS. Параметр cmd полностью определяет опера-

    цию.
    Возвращаемое Значение, возвращаемое функцией, зависит от

    значение выполняемых ею действий, которые, в свою

    очередь, определяются параметром cmd:
    -----------------------------------------------

    cmd ¦ Действия, выполняемые функцией

    _______________________________________________
    0 возвращает следующую клавишу, нажатую на

    клавиатуре. Если младшие 8 бит отличны от

    нуля, то в них передается символ в коде

    ASCII. Если же младшие 8 бит - нуль, то в

    старших 8 битах передаются расширенные ко-

    ды клавиатуры, приведенные в техническом

    описании IBM PC.
    1 Производится проверка наличия символа

    для чтения. Если возвращаемое значение

    равно 0, считывать нечего. В противном

    случае возвращается значение следующего

    символа. Сам же символ сохраняется для

    возвращения при следующем вызове bioskey

    со значением cmd равном 0.
    2 Получает текущий статус shift - клавиш.

    Возвращаемая величина получается с помощью

    логической операции OR для следующих зна-

    чений:
    0x80 Установлен режим Insert (вставка)

    0x40 Установлен режим Caps (прописные буквы)

    0x20 Установлен режим NumLock (клавиши кальку-

    ляторного поля используются как цифры)

    0x10 Установлен режим Scroll Lock (используется

    прикладными программами)

    0x08 Нажата клавиша Alt

    0x04 Нажата клавиша Ctrl

    0x02 Нажата левая клавиша Shift

    0x01 Нажата правая клавиша Shift
    Переносимость Эта функция работает только на IBM PC и совмес-

    тимых моделях.
    Пример

    #include

    #include

    #include
    #define RIGHT 0x0001

    #define LEFT 0x0002

    #define CTRL 0x0004

    #define ALT 0x0008
    main ()

    {

    int key;int modifiers;
    /* Функция 1 возвращает 0 пока не будет

    нажата клавиша. Ожидание ввода c помощью

    повторяющейся проверки нажатия клавиши */
    while (bioskey (1) == 0);
    /* Теперь функция О используется для

    получения значения нажатой клавиши. */
    key = bioskey (0);
    printf("Была нажата клавиша: " );
    /* Используется функция 2 для определения

    была ли нажата клавиша shift. */
    modifiers = bioskey (2);
    if (modifiers) {

    printf ("[");

    if (modifiers & RIGHT) printf ("RIGHT");

    if (modifiers & LEFT) printf ("LEFT");

    if (modifiers & CTRL) printf ("CTRL");

    if (modifiers & ALT ) printf ("ALT");

    printf ("]");

    }

    if (isalnum(key & 0xFF))

    print ("'%c'\n",key);

    else

    printf ("%c02x\n",key);

    }
    Результат выполнения программы
    Была нажата клавиша :[LEFT] 'T'

    -----------------------------------------------------------------
    1   ...   15   16   17   18   19   20   21   22   ...   120


    написать администратору сайта