Durante mucho tiempo, quería encontrar una manera de utilizar el ratón en mis propios programas de QBasic. Mientras que finalmente encontré varios ejemplos de código en línea que de hecho de interfaz con el ratón, todos parecían muy complicados para mí, con múltiples subrutinas, funciones y llamadas a procedimientos. Así que, decidí "hervirlo todo" el método más simple, mínimo pelado y a mi conocimiento, lo que se me ocurrió sigue siendo la manera más rápida, más fácil de incorporar funciones de ratón en un programa de QBasic!
Uno podría pensar de mi código como una especie de "caja negra" o "plug-in" de las clases; usted simplemente copia mi rutina secundario del "Mouse" en su programa, e inmediatamente brinda un soporte rudimentario ratón! Interconexión con el ratón se logra entonces a través de tres funciones simples; "Mouse 1" muestra el cursor del ratón, "Mouse 2" oculta otra vez, y "Mouse 3" Lee botón estado actual del ratón así como él es. Esta información es comunicada al programa del usuario a través de 3 variables globales; "B" representa los botones del ratón, "H" contiene sus coordenadas horizontales y "V" devuelve es coordenadas verticales. Para un ratón de 2 botones, la variable "B" devolverá los siguientes valores:
VALOR: TECLA (S):
0 None
1 Left
2 Right
3 Both
El siguiente es el segmento de código actual ratón que proporciona soporte de ratón:
''''''''''''''''''''''''''''''''''''''''''''''''''' Mouse Sub-program ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Ratón este subprograma apoya a programas de QBasic.
' Se llama con un parámetro y se ejecuta como sigue:
' 1 de ratón (cursor del ratón muestra)
' 2 de ratón (cursor del ratón se esconde)
' 3 de ratón (botón de Lee estado y coordenadas)
'
' Notas:
'
' Esta subpartida requiere controlador de mouse de Microsoft (Mouse.com)
' o un controlador de ratón equivalente basado en Dos, que debe cargarse y
' ejecutando antes de uso.
'
' Variables de B, H y V son globales, así que algunos no crear cualquier
' otras variables del mismo nombre, o deben volver a nombrar estos.
'
' Asegúrese de ocultar el cursor del ratón antes de realizar cualquier gráfica
' la función, o bien los gráficos bajo el cursor que se arruine.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SUB ratón (Funk) ' definir sub & parámetro pasado.
COMPARTIDO B, H, V ' compartir variables con sub principal.
Crsr estático ' pista si se muestra el Cursor.
IF Funk = 1 THEN Crsr = 1 ' Mostrar Cursor.
Funk de IF = 2 y Crsr = 0 THEN EXIT SUB ' no ocultar Cursor más de una vez.
IF Funk = 2 y Crsr = 1 entonces: Crsr = 0 ' ocultar el Cursor.
POKE 100, 184: 101 POKE, Funk: POKE 102, 0 ' meter código máquina necesario para
POKE 103, 205: 104 de POKE, 51: POKE 105, 137 ' con el ratón en la memoria
POKE 106, 30: POKE 107, 170: POKE 108, 10 ' a partir de offset 100 en el
POKE 109, 137: 110 de POKE, 14: 111 POKE, 187 ' segmento actual. Este código es
POKE 112, 11: POKE 113, 137: POKE 114, 22 ' luego ejecutado como una unidad, a través de la
POKE 115, 204: 116 de POKE, 12: POKE 117, 203 ' declaración "Llamada absoluta".
Absolute(100) llamada ' llamar a código de máquina.
B = PEEK (& HAAA) ' obtener los valores para los botones.
H = (PEEK(&HBBB) + PEEK (& HBBC) * 256) ' posición Horizontal (2 bytes).
V = (PEEK(&HCCC) + PEEK (& HCCD) * 256) ' posición Vertical (2 bytes).
END SUB ' fin del sub-programa.
Las siguientes declaraciones deben ser los dos primeros comandos de cualquier programa que utiliza este código:
DEFINT A-Z
DECLARE SUB ratón (Funk) ' subprograma Mouse declarar.
Junto con este instructable, he incluido un programa de ejemplo ("QBMOUSE. BAS") así como una"plantilla"de tipo ("ratón. SUB"), que contiene la sub-rutina de ratón y un programa principal en blanco, donde es necesario introducir su propio código. Si tiene preguntas, preocupaciones o simplemente quejas con respecto a este código, no dude en ponerse en contacto conmigo flurng doy la bienvenida a cualquier comentario y espero que disfrutar creando emocionantes nuevos programas de QBasic habilitados para ratón con la ayuda de esta rutina sub. Cuando estés listo para comenzar, lea el primer paso y sobre todo... Diviértete!