]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
* Agrego idea de analisis .... OPINAR AHROA O CALLAR PARA SIMPRE!
authorRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 19 Apr 2004 08:49:38 +0000 (08:49 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 19 Apr 2004 08:49:38 +0000 (08:49 +0000)
15 files changed:
doc/analisis.lyx [new file with mode: 0644]
emufs/fsc.c
emufs_gui/analisis/tipo1/art1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo1/art2.stat [new file with mode: 0644]
emufs_gui/analisis/tipo1/fact1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo1/fact2.stat [new file with mode: 0644]
emufs_gui/analisis/tipo2/art1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo2/art2.stat [new file with mode: 0644]
emufs_gui/analisis/tipo2/fact1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo2/fact2.stat [new file with mode: 0644]
emufs_gui/analisis/tipo3/art1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo3/art2.stat [new file with mode: 0644]
emufs_gui/analisis/tipo3/fact1.stat [new file with mode: 0644]
emufs_gui/analisis/tipo3/fact2.stat [new file with mode: 0644]
emufs_gui/facturas.c

diff --git a/doc/analisis.lyx b/doc/analisis.lyx
new file mode 100644 (file)
index 0000000..a81f70d
--- /dev/null
@@ -0,0 +1,896 @@
+#LyX 1.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 221
+\textclass article
+\language spanish
+\inputencoding auto
+\fontscheme palatino
+\graphics default
+\paperfontsize 10
+\spacing single 
+\papersize Default
+\paperpackage a4
+\use_geometry 1
+\use_amsmath 0
+\use_natbib 0
+\use_numerical_citations 0
+\paperorientation portrait
+\leftmargin 2cm
+\topmargin 1cm
+\rightmargin 1cm
+\bottommargin 2cm
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\quotes_times 2
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\bullet 1
+       0
+       24
+       -1
+\end_bullet
+
+\layout Title
+
+Comparacion de Tipo de archivos.
+\layout Standard
+
+Método utilizado para la comparación
+\layout Standard
+
+Para realizar la comparación entre los distintos tipos de archivo, se generaron
+ un xml de articulos con 200 entradas y uno de facturas de 1750 entreadas.
+ Los valores fueron arbitrarios y un poco mas elevados que los requeridos
+ en el enunciado para poner a prueba el sistema.
+\layout Standard
+
+En la tabla que se dará más adelante, se pueden apreciar los datos característic
+os de cada tipo de archivo.
+ El métido de prueba fue el siguiente :
+\layout Enumerate
+
+Para cada tipo de archivo se cargaron los archivos xml de prueba
+\layout Enumerate
+
+Se anotaron las estadísticas que entrega la GUI
+\layout Enumerate
+
+Se eliminaron alrededor de 50 artículos y 200 facturas.
+ El valor no es exacto, puesto que al ser pseudo-aleatoria la cantidad borrada
+ puede no ser 50 o 200.
+\layout Enumerate
+
+Se anotaron las estadísticas nuevamente.
+\layout Standard
+
+Ahora, los tamaños de bloque para los archivos con bloques fueron tomados
+ de 512 bytes, por ser una unidad típica de dispositivos de almacenamiento,
+ y nos pareció lógico dada la similitud utilizar esta unidad.
+\layout Standard
+
+De la operatorio antes descripta sale la siguiente tabla :
+\layout Standard
+
+
+\begin_inset  Tabular
+<lyxtabular version="3" rows="8" columns="7">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Artículos
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T1
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T2
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T3
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T1
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T2
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+T3
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Inicial
+\end_inset 
+</cell>
+<cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+\end_inset 
+</cell>
+<cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Luego de borrar
+\end_inset 
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+\end_inset 
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Tamaño Datos
+\end_inset 
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+10528 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+10528 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+28800 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+7874 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+7278 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+17856 bytes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Tamaño Datos de Control
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+1608 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+1604 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+812 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+1208 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+1108 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+508 bytes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Espacio Libre
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+672 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+0 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+4704 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+3726 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+3746 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+15952 bytes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Media de Espacio Libre
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+26 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+0 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+70 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+149 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+73 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+238 bytes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Máximo de Espacio Libre
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+83 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+0 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+216 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+279 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+480 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+512 bytes
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Mínimo de Espacio Libre
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+2 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+0 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+68 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+36 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+ 41 bytes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\family roman 
+\series medium 
+\shape up 
+\size normal 
+\emph off 
+\bar no 
+\noun off 
+\color none
+ 68 bytes
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset 
+
+
+\layout Standard
+
+Evidentemente para el caso de artículos, una muy mala eleccion seria utilizar
+ el archivo de tipo3, puesto que al usar registros constantes es posible
+ que se desperdicie mucho espacio si ocurren muchas eliminaciones (como
+ se observa en la tabla).
+ Entre los tipos 1 y 2 no existe mucha diferencia en los números, por lo
+ que la desición podriía ser tomada en base a los tiempos de acceso.
+ Tomando este criterio el T2 sería la mejor forma de almacenar los datos
+ para si lo más frecuente son lecturas, ya que al leer se puede obtener
+ el offset desde el principio del registro, mientras que en el tipo1 se
+ debe hacer una búsqueda secuencial sobre el bloque, y de ser éste último
+ muy grande el tiempo de acceso puede ser elevado.
+ Para operaciones que requiera muchas bajas de elementos el tipo 2 no sería
+ la mejor opción, puesto que la liberación es compleja, ya que cuando se
+ da de baja un registro se debe verificar si dicho espacio se solapa con
+ algún espacio libre actual, de manera de mantener espacios libres como
+ lo hacen los sistemas de archivo ext2, manteniendo la lista de los offsets
+ y tamaño de espacios libres, a fin de buscar el que mejor ajuste en caso
+ de una alta.
+\the_end
index 344adb645c36eab8fd6d91f5e59d51c2ee206152..84746a80e4e9f698b6e0f6ed91c22870b4e1be36 100644 (file)
@@ -58,7 +58,6 @@ int emufs_fsc_agregar(EMUFS *emu, EMUFS_BLOCK_ID marker, EMUFS_FREE freespace)
        strcat(name_f_fsc, EMUFS_FSC_EXT);
        
        /* Lo guardo en el archivo al final "a+"*/
-       PERR(name_f_fsc);
        if ( (f_fsc = fopen(name_f_fsc,"r+"))==NULL ) return -1;
        /* lo busco.. si esta lo modifico y si no lo agrego */
        fseek(f_fsc,0,SEEK_SET);
diff --git a/emufs_gui/analisis/tipo1/art1.stat b/emufs_gui/analisis/tipo1/art1.stat
new file mode 100644 (file)
index 0000000..238e1ab
--- /dev/null
@@ -0,0 +1,15 @@
+x Tipo de Archivo : Registro long. variable con bloque parametrizado           x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño ocupado por datos : 10528 bytes (82.20 %)                             x
+x Tamaño de campos de control de datos: 1608 bytes (12.55 %)                   x
+x Espacio Libre : 672 bytes (5.25 %)                                           x
+x Media de espacio libre : 26 bytes/bloque                                     x
+x Maximo de Espacio libre : 83 bytes                                           x
+x Minimo de Espacio libre : 2 bytes                                            x
+x Tamaño de Archivo de datos : 12808 bytes                                     x
+x Tamaño de Archivos auxiliares : 1800 bytes                                   x
+x Cantidad de bloques : 25                                                     x
+x Cant. Registros : 200                                                        x
+x                                                                              x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo1/art2.stat b/emufs_gui/analisis/tipo1/art2.stat
new file mode 100644 (file)
index 0000000..8e0dda9
--- /dev/null
@@ -0,0 +1,13 @@
+x Tipo de Archivo : Registro long. variable con bloque parametrizado           x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño ocupado por datos : 7874 bytes (61.48 %)                              x
+x Tamaño de campos de control de datos: 1208 bytes (9.43 %)                    x
+x Espacio Libre : 3726 bytes (29.09 %)                                         x
+x Media de espacio libre : 149 bytes/bloque                                    x
+x Maximo de Espacio libre : 279 bytes                                          x
+x Minimo de Espacio libre : 36 bytes                                           x
+x Tamaño de Archivo de datos : 12808 bytes                                     x
+x Tamaño de Archivos auxiliares : 2000 bytes                                   x
+x Cantidad de bloques : 25                                                     x
+x Cant. Registros : 150                                                        x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo1/fact1.stat b/emufs_gui/analisis/tipo1/fact1.stat
new file mode 100644 (file)
index 0000000..03b926b
--- /dev/null
@@ -0,0 +1,12 @@
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño ocupado por datos : 268707 bytes (89.56 %)                            x
+x Tamaño de campos de control de datos: 14008 bytes (4.67 %)                   x
+x Espacio Libre : 17325 bytes (5.77 %)                                         x
+x Media de espacio libre : 29 bytes/bloque                                     x
+x Maximo de Espacio libre : 386 bytes                                          x
+x Minimo de Espacio libre : 1 bytes                                            x
+x Tamaño de Archivo de datos : 300040 bytes                                    x
+x Tamaño de Archivos auxiliares : 18688 bytes                                  x
+x Cantidad de bloques : 586                                                    x
+x Cant. Registros : 1750                                                       x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo1/fact2.stat b/emufs_gui/analisis/tipo1/fact2.stat
new file mode 100644 (file)
index 0000000..80cea76
--- /dev/null
@@ -0,0 +1,13 @@
+x Tipo de Archivo : Registro long. variable con bloque parametrizado           x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño ocupado por datos : 207295 bytes (69.09 %)                            x
+x Tamaño de campos de control de datos: 12288 bytes (4.10 %)                   x
+x Espacio Libre : 80457 bytes (26.82 %)                                        x
+x Media de espacio libre : 137 bytes/bloque                                    x
+x Maximo de Espacio libre : 512 bytes                                          x
+x Minimo de Espacio libre : 1 bytes                                            x
+x Tamaño de Archivo de datos : 300040 bytes                                    x
+x Tamaño de Archivos auxiliares : 19548 bytes                                  x
+x Cantidad de bloques : 586                                                    x
+x Cant. Registros : 1535                                                       x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo2/art1.stat b/emufs_gui/analisis/tipo2/art1.stat
new file mode 100644 (file)
index 0000000..5485eb0
--- /dev/null
@@ -0,0 +1,12 @@
+x Tipo de Archivo : Registro long. variable sin bloques                        x
+x                                                                              x
+x Tamaño ocupado por datos : 10528 bytes (86.78 %)                             x
+x Tamaño de campos de control de datos: 1604 bytes (13.22 %)                   x
+x Espacio Libre : 0 bytes (0.00 %)                                             x
+x Media de espacio libre : 0 bytes/bloque                                      x
+x Maximo de Espacio libre : 0 bytes                                            x
+x Minimo de Espacio libre : 0 bytes                                            x
+x Tamaño de Archivo de datos : 12132 bytes                                     x
+x Tamaño de Archivos auxiliares : 1600 bytes                                   x
+x Cant. Registros : 200                                                        x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo2/art2.stat b/emufs_gui/analisis/tipo2/art2.stat
new file mode 100644 (file)
index 0000000..3e573c7
--- /dev/null
@@ -0,0 +1,12 @@
+x Tipo de Archivo : Registro long. variable sin bloques                        x
+x                                                                              x
+x Tamaño ocupado por datos : 7278 bytes (59.99 %)                              x
+x Tamaño de campos de control de datos: 1108 bytes (9.13 %)                    x
+x Espacio Libre : 3746 bytes (30.88 %)                                         x
+x Media de espacio libre : 73 bytes/bloque                                     x
+x Maximo de Espacio libre : 480 bytes                                          x
+x Minimo de Espacio libre : 41 bytes                                           x
+x Tamaño de Archivo de datos : 12132 bytes                                     x
+x Tamaño de Archivos auxiliares : 2256 bytes                                   x
+x Cant. Registros : 138                                                        x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo2/fact1.stat b/emufs_gui/analisis/tipo2/fact1.stat
new file mode 100644 (file)
index 0000000..e2a16b7
--- /dev/null
@@ -0,0 +1,12 @@
+x Tipo de Archivo : Registro long. variable sin bloques                        x
+x                                                                              x
+x Tamaño ocupado por datos : 268707 bytes (95.05 %)                            x
+x Tamaño de campos de control de datos: 14004 bytes (4.95 %)                   x
+x Espacio Libre : 0 bytes (0.00 %)                                             x
+x Media de espacio libre : 0 bytes/bloque                                      x
+x Maximo de Espacio libre : 0 bytes                                            x
+x Minimo de Espacio libre : 0 bytes                                            x
+x Tamaño de Archivo de datos : 282711 bytes                                    x
+x Tamaño de Archivos auxiliares : 14000 bytes                                  x
+x Cant. Registros : 1750                                                       x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo2/fact2.stat b/emufs_gui/analisis/tipo2/fact2.stat
new file mode 100644 (file)
index 0000000..db61cb4
--- /dev/null
@@ -0,0 +1,12 @@
+x Tipo de Archivo : Registro long. variable sin bloques                        x
+x                                                                              x
+x Tamaño ocupado por datos : 212465 bytes (75.15 %)                            x
+x Tamaño de campos de control de datos: 12324 bytes (4.36 %)                   x
+x Espacio Libre : 57922 bytes (20.49 %)                                        x
+x Media de espacio libre : 981 bytes/bloque                                    x
+x Maximo de Espacio libre : 10656 bytes                                        x
+x Minimo de Espacio libre : 216 bytes                                          x
+x Tamaño de Archivo de datos : 282711 bytes                                    x
+x Tamaño de Archivos auxiliares : 15312 bytes                                  x
+x Cant. Registros : 1540                                                       x
+x                                                                              x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo3/art1.stat b/emufs_gui/analisis/tipo3/art1.stat
new file mode 100644 (file)
index 0000000..c1d5844
--- /dev/null
@@ -0,0 +1,14 @@
+x Tipo de Archivo : Registro long. fija con bloque parametrizado               x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño de registro : 144 bytes                                               x
+x Tamaño ocupado por datos : 28800 bytes (83.93 %)                             x
+x Tamaño de campos de control de datos: 812 bytes (2.37 %)                     x
+x Espacio Libre : 4704 bytes (13.71 %)                                         x
+x Media de espacio libre : 70 bytes/bloque                                     x
+x Maximo de Espacio libre : 216 bytes                                          x
+x Minimo de Espacio libre : 68 bytes                                           x
+x Tamaño de Archivo de datos : 34316 bytes                                     x
+x Tamaño de Archivos auxiliares : 2136 bytes                                   x
+x Cantidad de bloques : 67                                                     x
+x Cant. Registros : 200                                                        x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo3/art2.stat b/emufs_gui/analisis/tipo3/art2.stat
new file mode 100644 (file)
index 0000000..d8bceea
--- /dev/null
@@ -0,0 +1,14 @@
+x Tipo de Archivo : Registro long. fija con bloque parametrizado               x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño de registro : 144 bytes                                               x
+x Tamaño ocupado por datos : 17856 bytes (52.03 %)                             x
+x Tamaño de campos de control de datos: 508 bytes (1.48 %)                     x
+x Espacio Libre : 15952 bytes (46.49 %)                                        x
+x Media de espacio libre : 238 bytes/bloque                                    x
+x Maximo de Espacio libre : 512 bytes                                          x
+x Minimo de Espacio libre : 68 bytes                                           x
+x Tamaño de Archivo de datos : 34316 bytes                                     x
+x Tamaño de Archivos auxiliares : 2440 bytes                                   x
+x Cantidad de bloques : 67                                                     x
+x Cant. Registros : 124                                                        x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo3/fact1.stat b/emufs_gui/analisis/tipo3/fact1.stat
new file mode 100644 (file)
index 0000000..9513df0
--- /dev/null
@@ -0,0 +1,14 @@
+x Tipo de Archivo : Registro long. fija con bloque parametrizado               x
+x                                                                              x
+x Tamaño de bloque : 512 bytes                                                 x
+x Tamaño de registro : 312 bytes                                               x
+x Tamaño ocupado por datos : 546000 bytes (60.94 %)                            x
+x Tamaño de campos de control de datos: 7012 bytes (0.78 %)                    x
+x Espacio Libre : 343000 bytes (38.28 %)                                       x
+x Media de espacio libre : 196 bytes/bloque                                    x
+x Maximo de Espacio libre : 196 bytes                                          x
+x Minimo de Espacio libre : 196 bytes                                          x
+x Tamaño de Archivo de datos : 896012 bytes                                    x
+x Tamaño de Archivos auxiliares : 28000 bytes                                  x
+x Cantidad de bloques : 1750                                                   x
+x Cant. Registros : 1750                                                       x
\ No newline at end of file
diff --git a/emufs_gui/analisis/tipo3/fact2.stat b/emufs_gui/analisis/tipo3/fact2.stat
new file mode 100644 (file)
index 0000000..1d2ea31
--- /dev/null
@@ -0,0 +1,15 @@
+x Tipo de Archivo : Registro long. fija con bloque parametrizado
+x
+x Tamaño de bloque : 512 bytes
+x Tamaño de registro : 312 bytes
+x Tamaño ocupado por datos : 482664 bytes (53.87 %)
+x Tamaño de campos de control de datos: 6200 bytes (0.69 %)
+x Espacio Libre : 407148 bytes (45.44 %)
+x Media de espacio libre : 232 bytes/bloque
+x Maximo de Espacio libre : 512 bytes
+x Minimo de Espacio libre : 196 bytes
+x Tamaño de Archivo de datos : 896012 bytes
+x Tamaño de Archivos auxiliares : 28812 bytes
+x Cantidad de bloques : 1750
+x Cant. Registros : 1547
+x
index 254e35eadba38d0ab2d8e785d8bf0df613d98779..9410c192c4835df287c699999aa33022dc1a5ac8 100644 (file)
@@ -12,7 +12,7 @@ static t_Reg_Factura *crear_nodo_factura(EMUFS_REG_ID reg, EMUFS_REG_ID texto, u
 static int agregar_nodo_factura(t_LstFacturas *lst, t_Reg_Factura *nodo);
 int eliminar_nodo_factura(t_LstFacturas *lst, t_Reg_Factura *nodo);
 static t_Item *leer_items(xmlNode *, int *cant, int size);
-static char *leer_nota(xmlNode *);
+static char *leer_nota(xmlNode *, int max);
 
 t_LstFacturas *fact_get_lst()
 {
@@ -116,14 +116,14 @@ t_Item *leer_items(xmlNode *node, int *cant, int size)
                while (node) {
                        if (node->type == XML_ELEMENT_NODE) {
                                if (strcmp(node->name, "ITEMVENTA") == 0) {
-                                       memset(&tmp[count], '*', sizeof(t_Item));
+                                       memset(&tmp[count], 0, sizeof(t_Item));
                                        prop = xml_get_prop(node, "NroArtículo");
                                        tmp[count].numero = atoi(prop);
                                        xmlFree(prop);
                                        strncpy(tmp[count].cv, prop = xml_get_prop(node, "CV"), 8); xmlFree(prop);
-                                       tmp[count-1].cv[8] = '\0';
+                                       tmp[count].cv[8] = '\0';
                                        strncpy(tmp[count].pvu, prop = xml_get_prop(node, "PVU"), 8); xmlFree(prop);
-                                       tmp[count-1].pvu[8] = '\0';
+                                       tmp[count].pvu[8] = '\0';
                                        count++;
                                }
                        }
@@ -134,7 +134,7 @@ t_Item *leer_items(xmlNode *node, int *cant, int size)
        return tmp;
 }
 
-char *leer_nota(xmlNode *node)
+char *leer_nota(xmlNode *node, int max)
 {
        xmlNode *tmp;
        char *salida;
@@ -149,11 +149,22 @@ char *leer_nota(xmlNode *node)
        }
 
        if (tmp) {
-               salida = (char *)malloc(sizeof(char)*(strlen(XML_GET_CONTENT(tmp->children))+1));
-               strcpy(salida, XML_GET_CONTENT(tmp->children));
+               if (max == -1) {
+                       salida = (char *)malloc(sizeof(char)*(strlen(XML_GET_CONTENT(tmp->children))+1));
+                       strcpy(salida, XML_GET_CONTENT(tmp->children));
+               } else {
+                       salida = (char *)malloc(sizeof(char)*max);
+                       strncpy(salida, XML_GET_CONTENT(tmp->children), max-1);
+                       salida[max-1] = '\0';
+               }
        } else {
-               salida = (char *)malloc(sizeof(char));
-               salida[0] = '\0';
+               if (max == -1) {
+                       salida = (char *)malloc(sizeof(char));
+                       salida[0] = '\0';
+               } else {
+                       salida = (char *)malloc(sizeof(char)*max);
+                       memset(salida, 0, max);
+               }
        }
        return salida;
 }
@@ -239,11 +250,11 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque, int t
                                        strncpy(fact.cheque, prop = xml_get_prop(node, "NroCheque"), 18); xmlFree(prop);
                                        fact.cheque[18] = '\0';
 
-                                       fact.nota = leer_nota(node);
+                                       fact.nota = leer_nota(node, (((tipo-1)==T3)?100:-1));
                                        fact.items = leer_items(node, &fact.cant_items, ((tipo-1)==T3)?10:-1);
 
                                        error = 0;
-                                       id = tmp->fp_texto->grabar_registro(tmp->fp_texto, fact.nota, strlen(fact.nota)+1, &error);
+                                       id = tmp->fp_texto->grabar_registro(tmp->fp_texto, fact.nota, ((tipo-1)==T3)?100:(strlen(fact.nota)+1), &error);
                                        fact.reg_nota = id;
                                        save = procesar_guardar_factura(&fact, lst_facturas, &size);
                                        if (save != NULL) {