From e07c148dfae82742f52e3b2dd55db9dafa284925 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Sun, 18 Apr 2004 06:47:31 +0000 Subject: [PATCH] * Primer paso a tipo2_leer_raw . La declaro :) .. por lo menos ahora no se cuelga la aplicacion, solo no muestra anda. --- emufs/tipo2.c | 12 +++++++++++- emufs/tipo2.h | 3 +++ emufs_gui/viewer.c | 18 +++++++++--------- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/emufs/tipo2.c b/emufs/tipo2.c index 92cb2a4..bbec0b3 100644 --- a/emufs/tipo2.c +++ b/emufs/tipo2.c @@ -51,8 +51,9 @@ int emufs_tipo2_inicializar(EMUFS* efs) { efs->grabar_registro = emufs_tipo2_grabar_registro; - efs->borrar_registro = emufs_tipo2_borrar_registro; + efs->borrar_registro = emufs_tipo2_borrar_registro; efs->leer_registro = emufs_tipo2_leer_registro; + efs->leer_registro_raw = emufs_tipo2_leer_registro_raw; efs->modificar_registro = emufs_tipo2_modificar_registro; efs->leer_estadisticas = emufs_tipo2_leer_estadisticas; efs->compactar = emufs_tipo2_compactar; @@ -466,3 +467,12 @@ int emufs_tipo2_updateidx(EMUFS *efs) return 0; } + +void* emufs_tipo2_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID id, EMUFS_REG_SIZE *size, int *pos) +{ + (*size) = 0; + (*pos) = 0; + PERR("IMPLEMENTAME CABRON"); + return NULL; +} + diff --git a/emufs/tipo2.h b/emufs/tipo2.h index e1f6733..aad598b 100644 --- a/emufs/tipo2.h +++ b/emufs/tipo2.h @@ -149,4 +149,7 @@ void emufs_tipo2_movedata(FILE * datfile,EMUFS_OFFSET *source, EMUFS_OFFSET *des */ int emufs_tipo2_updateidx(EMUFS *efs); +/** Método para leer un registro con todo su bloque asociado. */ +void* emufs_tipo2_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID id, EMUFS_REG_SIZE *size, int *pos); + #endif /* _EMUFS_TIPO2_H_ */ diff --git a/emufs_gui/viewer.c b/emufs_gui/viewer.c index c181b9e..750d344 100644 --- a/emufs_gui/viewer.c +++ b/emufs_gui/viewer.c @@ -284,15 +284,13 @@ void ver_registros(WINDOW *padre, int w, int h, int cual) wattroff(padre, COLOR_PAIR(COLOR_BLUE)); switch (fp->tipo) { case T1: + case T2: waddstr(padre, "Registro variable con bloque parametrizado."); if (cual == 0) procesar = procesar_registro_articulo_tipo1; else procesar = procesar_registro_factura_tipo1; break; - case T2: - waddstr(padre, "Registro variable sin bloques."); - break; case T3: if (cual == 0) procesar = procesar_registro_articulo_tipo3; @@ -322,12 +320,14 @@ void ver_registros(WINDOW *padre, int w, int h, int cual) curs_set(0); mostrar_info(padre, h, offset_alto, 1); - - mvwaddnstr(actual[1], 0, 0, data, pos_actual); - wattron(actual[1], A_BOLD); - waddnstr(actual[1], data+pos_actual, ancho_registro); - wattroff(actual[1], A_BOLD); - waddnstr(actual[1], data+pos_actual+ancho_registro, size-(pos_actual+ancho_registro)); + + if (data) { + mvwaddnstr(actual[1], 0, 0, data, pos_actual); + wattron(actual[1], A_BOLD); + waddnstr(actual[1], data+pos_actual, ancho_registro); + wattroff(actual[1], A_BOLD); + waddnstr(actual[1], data+pos_actual+ancho_registro, size-(pos_actual+ancho_registro)); + } wrefresh(actual[1]); wrefresh(actual[0]); -- 2.43.0