UnderStar2007 programming

Объявление

UnderStar2007 форум:
Добро пожаловать! Общайтесь, меняйтесь, делитесь, помогайте!
В случае возникновений неувязиц - в личку, или в тему 'АДМИН! ПОМОГИ!' :)
На главную
Карта сайта вам в помощь.
Сайт админа UnderStar2007

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » UnderStar2007 programming » Полезные скрипты » Пропись мышки в QB до 3.0 (включительно)


Пропись мышки в QB до 3.0 (включительно)

Сообщений 1 страница 4 из 4

1

Каждый создатель программ и игр на прототип MacOS, Windows, всевозможные стратегии, РПГ и т.д. и т.п. хочет, чтобы была возможность удобной навигации по объектам интерфейса, но создавать курсор, который с определенным текстовым тактом будет не совсем удобно перемещаться, тем более, если поставлен лимит времени... Тут нам поможет только мышь, световое перо, или графический планшет. Но как прописать такое устройство? Ниже я привел код написания обращения к драйверу и вывода на экран системного курсора (кампилятор сам выбирает тип, однако идет далеко не во всех режимах). Скопируйте его и дополните своей программой. НЕ ЗАБЫВАЙТЕ О ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ! ПРОГРАММА "ЛЕЗЕТ" В ЯДРО СИСТЕМЫ, И ЕСЛИ КТО НАПОРТАЧИТ, Я ОТВЕТСТВЕННОСТИ НЕ НЕСУ! :^) Удачи!

Код:
DEFINT A - Z

DEF SEG = &HA000
DIM SHARED MOUSE$
MOUSE$ = SPACE$ (57)

SCREEN 12: CLS

FOR I% = 1 TO 57
    READ A$
    H$ = CHR$ (VAL$ ("&H" + A$))
    MID$ (MOUSE$, I%, 1) = H$
NEXT I%

DATA 55, 89, E5, 8B, 5E, 0C, 8B, 07, 50, 8B, 5E, 0A, 8B, 07, 50, 8B, 5E, 08, 8B, 0F, 8B, 5E, 06, 8B, 17, 5B, 58, 1E, 07, CD, 33, 53, 8B, 5E, 0C, 89, 07, 58, 8B, 5E, 0A, 89, 07, 8B, 5E, 08, 89, 0F, 8B, 5E, 06, 89, 17, 5D, CA, 08, 00

RESTORE

MS% = MOUSEINIT%

IF NOT MS% THEN
    PRINT "Mouse not found!"
    END
END IF

MOUSE SHOW 'Показывает курсор мыши, а MOUSEHIDE - скрывает

MOUSERANGE 0, 0, 630, 478

'Ваша программа, учитывая следующее:

MOUSESTATUS Lb%, Rb%, X%, Y% 'После выполнения возвращает значения клавиш и положения курсора
'Далее идут процедуры, они автоматически будут "скрыты" с тела программы...

DEFLNG A - Z
SUB MOUSEDRIVER (AX%, BX%, CX%, DX%)
    DEF SEG = VARSEG (MOUSE$)
    MOUSE% = SAAD (MOUSE$)
    ABSOLUTE AX%, BX%, CX%, DX%
END SUB

DEFLNG A - Z
SUB MOUSEHIDE
    AX% = 2
    MOUSEDRIVER AX%, 0, 0, 0
END SUB

DEFLNG A - Z
SUB MOUSESHOW
    AX% = 1
    MOUSEDRIVER AX%, 0, 0, 0
END SUB

DEFLNG A - Z
SUB MOUSEPUT (X%, Y%)
    AX% = 4
    CX% = X%
    DX% = Y%
    MOUSEDRIVER AX%, 0, CX%, DX%
END SUB

DEFLNG A - Z
SUB MOUSERANGE (X1%, Y1%, X2%, Y2%)
    AX% = 7
    CX% = X1%
    DX% = X2%
    MOUSEDRIVER AX%, 0, CX%, DX%

    AX% = 8
    CX% = Y1%
    DX% = Y2%
    MOUSEDRIVER AX%, 0, CX%, DX%
END SUB

DEFLNG MOUSESTATUS (LB%, RB%, X%, Y%)
    AX% = 3
    MOUSEDRIVER AX%, BX%, CX%, DX%

    LB% = ((BX% AND 1) <> 0)
    RB% = ((BX% AND 2) <> 0)
    X% = CX%
    Y% = DX%
END SUB

DEFLNG A - Z
FUNKTION MOUSEINIT%
    AX% = 0
    MOUSEDRIVER AX%, 0, 0, 0
    MOUSEINIT% = AX%
END FUNKTION

-------------------------------------------------------------------------------------------
Размер файла:
    1'673 байта (1,63 Кбайта) (в текстовом формате)

Если Вы в тексте обнаружили ошибку(и), прошу написать об этом (с указанием ошибки и места, где она есть) как можно подробнее в разделе "Админу!". Буду признателен за сотрудничество.

0

2

Блин, в 4.5 ABSOLUTE ассемблера нету! Как мне там писать? Я ХОЧУ ПИСАТЬ НЕ ТОЛЬКО BAS, НО И EXE С МЫШКОЙ :(
Нету другого кода?

0

3

Пока что другого кода нет. Искал в и-нете - результатов мало...
Как вариант есть возможность (только для 4.0 и 4.5) подстановки процедур из других программ (только BAS)...
Вот к теме... Подставить библиотеки QBLIB, INTERRUPT, INTERRUPTX и другие, затем можно без ABSOLUTE :)
Код там другой выходит, однако сначала мне библиотеку найди... Желательно полную...
-------------------------------------------------------------------------
Искренне надеюсь, что пользователь, располагающий такими библиотеками, или кодом, где нет нужды в ABSOLUTE лазить, или библиотеки юзать, выложит его, или ссылку на него :)

0

4

Блин, кто-нибудь, напишите код! Я даже на тему подписался! ПОЖАЛУЙСТА!!!!!!  :'(

0


Вы здесь » UnderStar2007 programming » Полезные скрипты » Пропись мышки в QB до 3.0 (включительно)


Рейтинг форумов | Создать форум бесплатно