Vistas de página en total

domingo, 16 de marzo de 2014

EJEMPLO IMPRESIÓN. PAINT CON CARACTERES GRÁFICOS

  Como primer ejemplo del modo gráfico, voy a presentar un pequeño programa que tomando la posición del ratón como posición de impresion imprimirá la letra que estemos pusando en el teclado en pantalla. Esto solo lo hará si pulsamos el botón izquierdo del ratón.
   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.