Home
  Academia
    Circuitos 4
      SimPic
        Fase 2

Circuitos IV:
 Arquitectura de Computadoras
Simulador de procesador PIC - fase 2: interfase del usuario

Es importante detenerse un poco en la interfase del usuario, y proveer las herramientas necesarias para un uso c�modo del programa.

La unidad screen.pas provee un objeto que manejar� la pantalla - en modo texto - con paneles para:

-Listado con c�digo fuente para el programa en uso,
-Listado con los registros del microprocesador
-Datos miscel�neas: acumulador, pila, banderas, etc.
-�rea de comandos para el usuario

Para lograr un cierto grado de flexibilidad para el uso, el objeto tPanel provee los siguientes m�todos:

-Initialize: inicializar tama�o y otras propiedades
-ClearScreen: borrar el panel completamente
-OutText: Mostrar un texto en las coordinadas X, Y
-InsertLine/DeleteLine: insertar y borrar l�neas.
-WriteLine: agregar una l�nea al final del panel
-GetCommand: pedir (con prompt) un comando al usuario
-FlashMessage: Mostrar transitoriamente (hasta apretar una tecla, o cuando termina el plazo estipulado) un aviso.
-Height: una funci�n que reporta la altura del panel

El objeto maneja de cada panel: la posici�n, el color de fondo, y del texto

Ficha t�cnica del objeto tPanel:

Descripcion:
    Objeto para manejar paneles (ventanas 2 dimensionales) en la pantalla
    Inicializar el objeto con:
        <pan>.Initialize(tX1, tY1, tX2, tY2, tFC, tBC: integer)
            donde tX1, tY1 son las coordenadas de la esquina izq superior
                  tX2, tY2 son las coordenadas de la esquina der inferior
                  tFC es el color del texto
                  tBC es el color para el fondo
    M�todos disponibles:
        <pan>.ClearScreen borra el panel completamente
        <pan>.OutText(X, Y: integer; S: string) muestra S en X, Y
        <pan>.InsertLine(Y: integer; S: string) inserta S en la linea Y
        <pan>.DeleteLine(Y: integer) borra la linea Y
        <pan>.WriteLine(S: string) agrega S al final del panel
        <pan>.GetCommand(S: string) escribe S como prompt, y devuelve
            el comando tipeado por el usuario.
        <pan>.FlashMessage(Y: integer; S: string; T: integer) muestra el
            mensaje S en la linea Y, por un maximo de T milisegundos.
        <pan>.Height devuelve la altura del panel en lineas.

Las unidades de la fase 2:

Unidad Descripci�n
test.pas Programa principal
config.pas Unidad de configuraci�n de la fase 2
screen.pas Unidad de manejo de 'paneles'
strings.pas Utilitarios para manejo de strings
files.pas Unidad con herramientas para archivos: lectura c�digo fuente etc.
defin.pas Unidad de definiciones (y alguna rutina que no entr� en otra unidad...)


(c) John Coppens ON6JC/LW3HAZ correo