From e196939ca76821e1fb27e34140acb6ca1864d37c Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Fri, 28 May 2004 02:09:46 +0000 Subject: [PATCH] Cursor para recorrer el arbol andando. Ver en rango de facturas. --- emufs/indice_b.c | 34 ++++++++++++++++++++++++++-------- emufs_gui/facturas.c | 16 ++++++++-------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/emufs/indice_b.c b/emufs/indice_b.c index 89a5b77..f032d51 100644 --- a/emufs/indice_b.c +++ b/emufs/indice_b.c @@ -285,11 +285,11 @@ char *b_leer_nodo(INDICE *idx, int id) } /* Si estoy manejando string tengo que sacar las abreviaturas */ - if (idx->tipo_dato == IDX_STRING) { +/* XXX if (idx->tipo_dato == IDX_STRING) { b_leer_header(out, &header); claves = b_leer_claves(out, &header); desabreviar_claves(idx, claves, &header); - } + }*/ fclose(fp); return out; } @@ -301,11 +301,11 @@ static void b_grabar_nodo(INDICE *idx, int id, char *data) B_NodoEntry *claves; /* Si las claves son de tipo string debo abreviar antes de guardar */ - if (idx->tipo_dato == IDX_STRING) { +/*XXX if (idx->tipo_dato == IDX_STRING) { b_leer_header(data, &header); claves = b_leer_claves(data, &header); abreviar_claves(idx, claves, &header); - } + }*/ fp = fopen(idx->filename, "r+"); fseek(fp, id*idx->tam_bloque, SEEK_SET); fwrite(data, 1, idx->tam_bloque, fp); @@ -1151,14 +1151,18 @@ CLAVE emufs_indice_b_obtener_sig_clave(INDICE *idx, CLAVE k) while ((ifp, "emision"); if (idx==NULL) PERR("INDICE EMISION NO SE ENCUENTRA!!"); if (strlen(desde_fecha) == 0) { - k = idx->obtener_menor_clave(idx); - emufs_indice_obtener_valor_desde_clave(idx, k, desde_fecha); + k_menor = idx->obtener_menor_clave(idx); + emufs_indice_obtener_valor_desde_clave(idx, k_menor, desde_fecha); PERR("OBTUVE MENOR CLAVE DESDE EL INDICE"); PERR(desde_fecha); } if (strlen(hasta_fecha) == 0) { - k = idx->obtener_mayor_clave(idx); - emufs_indice_obtener_valor_desde_clave(idx, k, hasta_fecha); + k_mayor = idx->obtener_mayor_clave(idx); + emufs_indice_obtener_valor_desde_clave(idx, k_mayor, hasta_fecha); PERR("OBTUVE MAYOR CLAVE DESDE EL INDICE"); PERR(hasta_fecha); } @@ -1094,14 +1094,14 @@ void fact_consultas_fechas(char *s) lista_agregar_columna(lista, "Forma de Pago", DATO_STR, 40, 19); /* fp */ /* Leo los datos desde el archivo */ - while (k.i_clave != -1) { + while (k_menor.i_clave != -1) { t_Factura fact; int error, cant, i; char *leo; EMUFS_REG_SIZE size; INDICE_DATO *datos; CLAVE k1; - datos = idx->buscar_entradas(idx, k, &cant); + datos = idx->buscar_entradas(idx, k_menor, &cant); for(i=0; iobtener_sig_clave(idx, k); + k_menor = idx->obtener_sig_clave(idx, k_menor); } curs_set(0); -- 2.43.0