X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/502cd41cf62007430ce887023d9e99584da7a3f4..696ff22c96589e7f22479cd5d202d1050241322f:/emufs_gui/facturas.c?ds=sidebyside diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index 8107e03..68ffe06 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -8,22 +8,26 @@ static int al_azar(int min, int max); static void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, int *size); /* es por cada mes a generar */ -#define CANT_FACTURAS 500 +#define CANT_FACTURAS 1500 t_LstFacturas *fact_cargar(const char *filename) { - int i, numero, size, error; + int i, numero, size, error, cant; char *estados[6] = {"PN", "CD", "CM", "CF", "PM", "NC"}; char *fps[6] = {"CO", "CR", "CH"}; void *save; t_Factura fact; - if (filename == NULL) { + lst_facturas = (t_LstFacturas *)malloc(sizeof(t_LstFacturas)); + + if (filename != NULL) { + lst_facturas->fp = emufs_crear("facturas", T3, sizeof(t_Factura)*20, sizeof(t_Factura)); /* Genero las facturas en forma automática */ /* Genero las facturas de fecha Abril 2004 */ srand(time(NULL)); numero = 0; - for(i=0; ifp->grabar_registro(lst_facturas->fp, save, size, &error); + lst_facturas->array[cant].numero = numero; + lst_facturas->array[cant].num_reg = lst_facturas->fp->grabar_registro(lst_facturas->fp, save, size, &error); } } + lst_facturas->cant = cant; } else { /* Cargo un archivo existente */ } @@ -49,6 +55,20 @@ t_LstFacturas *fact_cargar(const char *filename) return lst_facturas; } +int fact_liberar(t_LstFacturas *l) +{ + if (l == NULL) l = lst_facturas; + if (l == NULL) return 1; + + ver_archivo_FS(l->fp); + emufs_destruir(l->fp); +/* free(l->array); */ + free(l); + + lst_facturas = NULL; + return 0; +} + int al_azar(int min, int max) { return (min + rand()%(max-min));