node = node->next;
}
- fprintf(stderr, "Creando articulos con bloque = %d\n", tam_bloque);
tmp->fp = emufs_crear("articulos", tipo-1, tam_bloque, sizeof(t_Articulo));
for (node=inicio ; node ; node = node->next) {
if (node->type == XML_ELEMENT_NODE) {
ini = fin+1;
fin = ini;
while (*fin!='\0') fin++;
- fprintf(stderr, "INI=%s\n", ini);
memcpy(dst->presentacion, ini, fin-ini+1);
ini = fin+1;
PERR("Creo el archivo\n");
nuevo = emufs_crear("emufs_tmp", tipo, tam_bloque, sizeof(t_Articulo));
if (nuevo == NULL) {
- fprintf(stderr, "ARCHIVO NUEVO NO CREADO\n");
+ PERR("ARCHIVO NUEVO NO CREADO");
return;
}
form_ejecutar(form, 1,1);
fact.numero = form_obtener_valor_int(form, "Numero de Factura");
- fprintf(stderr, "Agregando numero %d\n", fact.numero);
strcpy(fact.emision, form_obtener_valor_char(form, "Fecha Emision"));
strcpy(fact.vencimiento, form_obtener_valor_char(form, "Fecha Vto"));
fact.numero_remito = form_obtener_valor_int(form, "Nro Remito");
void menu_facturas();
void menu_mantenimiento();
void menu_estadisticas();
+void menu_ver_registros();
void preguntar_nuevo_tipo(int *tipo, int *tam_bloque, int *tam_reg);
void ver_estadisticas(EMUFS *fp);
menu_facturas();
break;
case 2:
- dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1);
- ver_registros(dialog, COLS-2, LINES-4, 0);
- werase(dialog);
- wrefresh(dialog);
- delwin(dialog);
- refresh();
+ menu_ver_registros();
break;
case 3:
- dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1);
- ver_registros(dialog, COLS-2, LINES-4, 1);
- werase(dialog);
- wrefresh(dialog);
- delwin(dialog);
- refresh();
break;
- case 5:
+ case 4:
menu_estadisticas();
break;
- case 6:
+ case 5:
menu_mantenimiento();
break;
- case 7:
+ case 6:
fin = 1;
break;
}
}
}
+void menu_ver_registros()
+{
+ MENU(mi_menu) {
+ MENU_OPCION("Articulos", "Ver registros del archivo de Articulos."),
+ MENU_OPCION("Facturas", "Ver registros del archivo de Facturas."),
+ MENU_OPCION("Notas", "Ver registros del archivo de Notas."),
+ MENU_OPCION("Volver", "Ir al menu anterior.")
+ };
+ int opt;
+ WINDOW *dialog;
+
+ while ((opt = menu_ejecutar(mi_menu, 4, "Menu Ver Registros")) != 3) {
+ switch (opt) {
+ case 0:
+ dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1);
+ ver_registros(dialog, COLS-2, LINES-4, 0);
+ werase(dialog);
+ wrefresh(dialog);
+ delwin(dialog);
+ refresh();
+ break;
+ case 1:
+ dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1);
+ ver_registros(dialog, COLS-2, LINES-4, 1);
+ werase(dialog);
+ wrefresh(dialog);
+ delwin(dialog);
+ refresh();
+ /* break; */
+ /* case 2: */
+ }
+ }
+}
int main_menu()
{
MENU(mi_menu) {
MENU_OPCION("Articulos","Alta,baja,consulta y modificacion de articulos."),
MENU_OPCION("Facturas","Alta,baja,consulta y modificacion de facturas."),
- MENU_OPCION("Ver Registros","Ver registros/bloques de archivo Articulos."),
- MENU_OPCION("Ver Facturas","Ver registros/bloques de archivo Facturas."),
- MENU_OPCION("Ver Notas","Ver registros/bloques de archivo Notas."),
+ MENU_OPCION("Ver Registros","Ver registros (en su contexto) de los archivos ."),
+ MENU_OPCION("Ver Bloques","Ver bloques (en su contexto) de los archivos."),
MENU_OPCION("Estadisticas","Ver estadisticas de ocupacion de archivos."),
MENU_OPCION("Mantenimiento","Tareas de mantenimiento de los archivos."),
MENU_OPCION("Salir", "Salir del sistema.")
};
- return menu_ejecutar(mi_menu, 8, "Menu Principal");
+ return menu_ejecutar(mi_menu, 7, "Menu Principal");
}
*/
salida = (char *)malloc((*size)-sizeof(unsigned int)*cant_header*2 + 2*cant_header*10+1);
if (salida == NULL) {
- fprintf(stderr, "Error de malloc en salida\n");
return NULL;
}
tmp = ptr;
tmp1 = salida;
pos_actualizada = 0;
while (i<cant_header) {
- fprintf(stderr, "voy a hacer el %d de %d\n", i, cant_header);
/* Verifico la pos_actual para el resaltado, asi queda coherente
* en el cambio de formato
*/
}
/* Pongo el ID del registro */
sprintf(tmp1, "(%08lu)", *((EMUFS_REG_ID *)tmp));
- fprintf(stderr, "ID=%lu\n",*((EMUFS_REG_ID *)tmp) );
tmp1 += 10;
tmp += sizeof(EMUFS_REG_ID);
/* Pongo el campo numero del registro */
sprintf(tmp1, "[%08d]", *((unsigned int *)tmp));
- fprintf(stderr, "Numero=%d\n",*((unsigned int *)tmp) );
tmp1 += 10;
tmp += sizeof(unsigned int);
j = 0;
/* Cuento la cantidad de registros en este bloque */
cant_header = 0;
offset = 0;
- fprintf(stderr, "Tam = %lu\n", *size);
do {
/* Me salto el ID, que no me interesa saber su valor */
offset += sizeof(EMUFS_REG_ID);
} else {
cant_header++;
offset += curr_size;
- fprintf(stderr, "Sume %lu\n", curr_size);
}
} while (offset+sizeof(EMUFS_REG_SIZE)+sizeof(EMUFS_REG_ID) < (*size));
/* Proceso */
- fprintf(stderr, "Cantidad de headers = %d\n", cant_header);
salida = (char *)malloc((*size)-sizeof(unsigned int)*cant_header*3 + 3*cant_header*10+1);
tmp = ptr;
tmp1 = salida;
tmp += sizeof(unsigned int);
j = sizeof(unsigned int);
PERR("Voy aca");
- fprintf(stderr, "son %lu\n", curr_size);
while (j < curr_size) {
if (*tmp == '\0') {
if (ant == (*tmp))
tam_data = (*size) - sizeof(EMUFS_REG_ID)-sizeof(int)*3-sizeof(float)-sizeof(EMUFS_BLOCK_ID);
}
- fprintf(stderr, "Tengo %d headers\n", cant_header);
/* El tamaño del nuevo array lo calculo asi :
*
*/
/* Verifico la pos_actual para el resaltado, asi queda coherente
* en el cambio de formato
*/
- fprintf(stderr, "%d == %d\n", tmp-ptr, *pos_actual);
if (((tmp - ptr) == *pos_actual) && (!pos_actualizada)) {
(*pos_actual) = tmp1-salida;
pos_actualizada = 1;
}
} while (offset+sizeof(EMUFS_REG_SIZE)+sizeof(EMUFS_REG_ID) < (*size));
- fprintf(stderr, "Tengo %d headers\n", cant_header);
/* El tamaño del nuevo array lo calculo asi :
*
*/
(*ancho) = 0;
i = 0;
while (i<cant_header) {
- fprintf(stderr, "Voy a hacer el %d de %d\n", i, cant_header);
/* Verifico la pos_actual para el resaltado, asi queda coherente
* en el cambio de formato
*/
}
j = 0;
PERR("Voy por la data");
- fprintf(stderr, "Tam = %d , items = %d\n", tam_data, cant_items);
while (j < (tam_data-cant_items*sizeof(t_Item))) {
if (*tmp == '\0') {
if (ant == (*tmp)){
}
/* Ahora proceso los items */
k = 0;
- fprintf(stderr, "ahora por los %d items\n", cant_items);
while (k < cant_items) {
sprintf(tmp1, "[%08d]", *((int *)tmp));
tmp1 += 10;
PERR(salida);
i++;
}
+ /* llego no . hasta el final */
+ while (tmp < (ptr+(*size))) {
+ (*tmp1) = '.';
+ tmp1++;
+ tmp++;
+ }
free(ptr);
PERR("Termine");