Se saldrá del programa pulsando el botón drecho del rarón.
El resultado del programa es un paint que dibuja en la pantalla los trazos del ratón, pero con el caracter que tengamos pulsado en ese momento.
Podeis descargar el programa ya compilado en EJ_GRAF1.EXE
EJ_GRAPH1.ASM
; Copyright (C) 2013 José Ángel Moneo Fernández ; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; You should have received a copy of the GNU General Public License ; along with this program. If not, see <http://www.gnu.org/licenses/>.
include main.mac
include stdio.mac
include mouse.mac
include graphics.mac
.model compact,pascal
.stack 200 ;define el tamaño de pila
.data
letra db 0 ; almacenamiento de la letra actual a imprimir
color dw 1 ; color del texto
.code
principal proc far
main ;inicializa programa
modovideo 12h ;inicia graficos
resmouse ;reinicia ratón
mouse on ; activa rarón
ciclo:
kbhit ;comprueba si si pulsa el teclado
jz sigue
getch letra ; si se pulsó lee el bufer de teclado y lo guarda en letra
sigue:
getmouse ;verifica espera pulsaci¾n raton
cmp ax,2 ;salir?
je fuera
cmp ax,1 ;boton izquierdo?
jne ciclo
getmousex
shr ax,3 ;convierte a posición caracter
mov cl,al
getmousey
shr ax,4 ;convierte a posición caracter
mov ch,al
gotoxy cl,ch
mouse off
putcharG letra
mouse on
jmp ciclo
fuera:
modovideo t80col ;repone la pantalla texto
resmouse ;resetea el rarón
mouse off ;desactiva el ratón
exit 0 ;sale al sistema con código 0
principal endp
end
No hay comentarios:
Publicar un comentario
Si tienes algún comentario, duda o sugerencia, o si quieres aportar algún código creado a partir de las librerías expuestas aquí, por favor, indícamelo.