Вот настальгирую потехоньку..

Все вопросы «а не подскажете, где мне найти...» обсуждаются только здесь.
Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Вот настальгирую потехоньку..

Сообщение Q2W » 04.10.2005 (Вт) 23:13

Есть у меня типа хобби - программить на QB.
Я с него начинал когда-то.
Периодически вспоминаю про него и пишу неоконченные пректы в нём.

Но вот случился косяк, потеря инфы.

Почти всё восстановил, но к сожалению пропали некоторые эксемплы, которые я так долго собирал.

Щас нужно использование мыши и считывание текущей нажатой клавиши (если нажата) без ожидания нажатия и все клавиши (т.е. со стрелками, шифтами и прочим).

Не подскажете? Или мож форум какой по QB ещё есть на русском?
Я знаю верный путь

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 04.10.2005 (Вт) 23:48

С клавишами разобрался (inkey$ рулит!).
С мышой байда, нашёл такой исходник (и кстати вспомнил, что он у меня был и с ним была таже проблема, но как я её решил - непомню).
Код: Выделить всё

DEFINT A-Z

DECLARE SUB MOUSE (m1%, m2%, m3%, m4%)
TYPE RegType
     ax    AS INTEGER
     bx    AS INTEGER
     cx    AS INTEGER
     dx    AS INTEGER
     bp    AS INTEGER
     si    AS INTEGER
     di    AS INTEGER
     flags AS INTEGER
END TYPE

DIM SHARED Inreg AS RegType
DIM SHARED Outreg AS RegType

SCREEN 12

'включить курсор мыши
G1% = 1: CALL MOUSE(G1%, G2%, G3%, G4%)

' Пpочитать кооpдинаты кypсоpа и статyс кнопок
DO
   G1% = 3: CALL MOUSE(G1%, G2%, G3%, G4%)
   LOCATE 1, 1: PRINT "Кооpдинаты мыши : X ="; G3%; " Y ="; G4%; " "
   LOCATE 3, 1
   SELECT CASE G2%
      CASE IS = 1: PRINT "Hажата левая кнопка  "
      CASE IS = 2: PRINT "Hажата пpавая кнопка "
      CASE IS = 4: PRINT "Hажата сpедняя кнопка"
      CASE ELSE:   PRINT "Кнопки не нажаты     "
   END SELECT
   IF INKEY$ <> "" THEN EXIT DO
LOOP

'Погасить курсор мыши
G1% = 2: CALL MOUSE(G1%, G2%, G3%, G4%)

SCREEN 0

SUB MOUSE (m1, m2, m3, m4)
' *****************************************************
' Эта пpоцедypа обеспечивает интеpфейс с дpайвеpом мыши
' m1, m2, m3, m4 - паpаметpы, пеpедаваемые в дpайвеp мыши
' и возвpащаемые оттyда. Они соответствyют pегистpам
' пpоцессоpа AX, BX, CX, DX
' *****************************************************
n = &H33:       ' пpеpывание 33h
Inreg.ax = m1   ' входные pегистpы
Inreg.bx = m2
Inreg.cx = m3
Inreg.dx = m4
CALL Interrupt(n, Inreg, Outreg)
m1 = Outreg.ax  ' выходные pегистpы
m2 = Outreg.bx
m3 = Outreg.cx
m4 = Outreg.dx

END SUB


Но на стоке CALL Interrupt(n, Inreg, Outreg) грит "Sub program not defined".
Я знаю верный путь

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.10.2005 (Ср) 8:53

Я опрашивал мышку через порты (тогда были только COMовские), но уже не помню, как.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.10.2005 (Ср) 16:15

Q2W, мыший пример идёт в поставке QB. У тебя этого примера нет, что ли? Могу скинуть.
Изображение

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 06.10.2005 (Чт) 12:10

Давай, если это не тот пример, который я написал выше.
Мыло: Dmitry[at]Novozhilov.ru
А если это как раз тот пример, то как он должен работать, мне непонятно.
Я знаю верный путь

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2005 (Чт) 13:45

Не тот же, например потому что он для VBDOS :-)
Но я его "адаптировал", проверил - под QB 4.50 работает.

Чтоб на строке "CALL Interrupt" не было ошибки, QB надо загружать с ключом /L QB.QLB
Это я только что в его справке, кстати, прочитал. Думаю, ты и сам мог ;-)
У вас нет доступа для просмотра вложений в этом сообщении.
Изображение

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 06.10.2005 (Чт) 13:57

Пасибо!
Я знаю верный путь


Вернуться в Народный поиск

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

    TopList