]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/gui.lyx
Se pone bien la memoria en cero para la GUI en borrar_registro.
[z.facultad/75.06/emufs.git] / doc / gui.lyx
index adcb98f6d797fa1633a303a2b1c5b461fd5bc781..0885764a2d1bb7e4c6977d88578681f1148d33c4 100644 (file)
@@ -46,6 +46,60 @@ La interfaz de visualizaci
  articulos, o notas de facturas).
 \layout Section
 
+Instalación
+\layout Standard
+
+Para poder correr la interfaz gráfica necesitará previamente compilarla
+ (así como compilar los programas auxiliares), para ello necesitará cumplir
+ con los siguiente requisitos:
+\layout Enumerate
+
+Compilador gcc versión 3.3.x preferentemente.
+ No podemos garantizar la compatibilidad con otras versiones debido a cambios
+ drásticos que sufrieron las versiones anteriores
+\layout Enumerate
+
+Parser XML libxml2 versión 2.6.x .
+ Versiones 2.5 y anteriores con incompatibles en la API y no funcionarán.
+\layout Enumerate
+
+libncurses version 5 o superior
+\layout Enumerate
+
+GNU Make
+\layout Subsection
+
+Compilar GUI
+\layout Standard
+
+Para compilar la GUI solo debe ejecutar el comando make dentro del directorio
+ raíz del proyecto.
+ Esto compilará primero una biblioteca estática con los manejadores de los
+ 3 tipos de archivo y luego compilará la GUI.
+\layout LyX-Code
+
+#~/emufs/> make
+\layout Subsection
+
+Preparar el banco de pruebas
+\layout Standard
+
+Antes de comenzar a utilizar la GUI deberá generar los archivo XML desde
+ donde serán leídos los datos para generar los archivos que luego se utilizará.
+ Para ello el proceso de compilación creará 2 ejecutable : generar_fact
+ y generar_art, que se ubicarán en la carpeta generar dentro de emufs_gui.
+\layout Standard
+
+Estos programas generan facturas y artículos respectivamente en forma aleatorio,
+ utilizando diccionarios de datos para llenar los campos.
+ Primero deberá ejecutar generar_art, ya que éste último crea un diccionario
+ de artículos que luego utilizará generar_fact para los items de las facturas.
+\layout Standard
+
+Ambos programas reciben 2 parámetros : el nombre de archivo de salida y
+ la cantidad de entradas a generar.
+\layout Section
+
 Línea de comandos
 \layout Standard
 
@@ -132,7 +186,8 @@ collapsed true
 \layout Standard
 
 En la modificación de una factura no se podrán cambiar ni la cantidad de
- items y los datos de los mismo!
+ items y los datos de los mismo!.
+ La nota si podrá ser modificada.
 \end_inset 
 
  de Facturas.
@@ -171,7 +226,7 @@ nes.
 La cantidad de items por factura es igual a 10 para archivos de registro
  de longitud fija y bloque parametrizado (TIPO 3).
  Esta decición fue tomada por poner un valor típico de items que puede haber
- en una factura.
+ en una factura, evaluando un caso de un comercio chico.
  Como el tipo de archivo permite cortar un registro y guardarlo en varios
  bloques consecutivos, la restricción de cantidad solo es un hecho de elección,
  y así pusieramos 100, 1000, 10000 no habría diferencia, ya que el tipo
@@ -189,15 +244,6 @@ Los campos son delimitados por el caracter nulo (en caso de los strings)
  y por la longitud del tipo de dato en caso de los campos numéricos.
  De esta forma se aprovechan las características de manejo de string en
  C.
-\layout Enumerate
-
-Cuando se leen registros que ocupan más de un bloque, solo se jutan todos
- los bloques que ocupa dicho registro y eso es mostrado al usuario.
- Fue diseñado de esta manera debido a que parsear la data binaria que contiene
- el archivo requiere saber donde esta, cuanto ocupa y como tratarla.
- De permitir mostrar registros incompletos, complicaría mucho más le parser
- actual, ya que por ejemplo podríamos tener que un campo entero (un int
- de 4 bytes) empiece en el registro actual y termine en el siguiente.
 \layout Section
 
 Vista de Registros
@@ -227,10 +273,6 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la
  representación elegida :
 \layout Itemize
 
-[XXX] : Son valores numéricos perteneciente a los datos (numero de factura,
- numero de artículo, etc)
-\layout Itemize
-
 (XXX) : Representa un ID.
  En el caso de las facturas también aparece en los datos el número de índice
  de la nota asociada con esta representación.
@@ -242,4 +284,45 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la
 
 También es posible ejecutar acciones de edición sobre el registro seleccioado,
  así como buscar por ID de registro.
+\layout Standard
+
+Cuando se procesa la información en crudo (es decir, el area de datos) algunos
+ bytes son modificados para evitar errores visuales.
+ Un caso es cuando el bytes es compuesto por 8 bits de valor 0 (caracter
+\backslash 
+0).
+ Lo que se hace es cambiarlo por un caracter que tenga representacion visual
+ (en este caso un *).
+ Lo mismo suscede para los caracteres de control (
+\backslash 
+b 
+\backslash 
+n 
+\backslash 
+r por ejemplo) y los espacion.
+ Esta política fue tomada ya que estos caracteres modifican la salida en
+ pantalla, y de no evitar su envío a la pantalla, producirían resultados
+ inesperados en la visualización.
+\layout Section
+
+Bugs conocidos
+\layout Standard
+
+A continuación se enumera los errores que sabemos que existen, que no hemos
+ tenido tiempo de corregir, pero que no hacen al TP en sí :
+\layout Enumerate
+
+Si la consola o terminal cambia de tamaño la GUI no sigue el nuevo tamaño,
+ pudiendose producir defectos visuales.
+ Esto es debido a que se debe capturar una señal que envia el SO, pero no
+ pudimos hacer que funciones con todas las terminales bajo X, por lo que
+ se decidio dejarlo para cuando tengamos tiempo.
+\layout Enumerate
+
+Si la GUI fue compilada con -DDEBUG y no se utiliza un PIPE para redirigir
+ la salida de error estandar, es posible que algun componente del programa
+ emita un mensaje de debug o warning y esta cause defectos de visualización
+ o el programa deje directamente de funcionar.
+ Esto es un defecto de la biblioteca NCurses.
 \the_end