lo puse dentro de tipo3 que es lo que hay programado y lo voy a utilizar para
hacer un demo del archivo de nico. Despues vemos de moverlo y reorganizar el
arbol de codigo.
* EL menu cada dia mas lindo :-)
int main(int argc, char *argv[])
{
int main(int argc, char *argv[])
{
if (argc != 2) {
printf("Modo de uso : %s archivo_de_articulos.xml\n", argv[0]);
return 1;
if (argc != 2) {
printf("Modo de uso : %s archivo_de_articulos.xml\n", argv[0]);
return 1;
if (has_colors()) {
start_color();
/* Simple color assignment, often all we need. */
if (has_colors()) {
start_color();
/* Simple color assignment, often all we need. */
- init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
+ init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK); /* COLOR_PAIR(1) */
init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
/* Ventana, Y, X, Texto */
mvwaddstr(stdscr, 1, 1, "EMUFS");
attron(COLOR_PAIR(2));
/* Ventana, Y, X, Texto */
mvwaddstr(stdscr, 1, 1, "EMUFS");
attron(COLOR_PAIR(2));
- mvwaddstr(stdscr, LINES-2, 1, "Presiones <F1> para salir");
+ mvwaddstr(stdscr, LINES-2, 1, "EMUFS (c) The EMUFS Team - Bajo Licencia GNU/GPL");
attroff(COLOR_PAIR(2));
wrefresh(stdscr);
attroff(COLOR_PAIR(2));
wrefresh(stdscr);
// case 1:
// case 2:
// case 3:
// case 1:
// case 2:
// case 3:
+ case 4:
+ fin = 1;
+ break;
mvwaddch(menu_win, 2, 0, ACS_LTEE);
mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
mvwaddch(menu_win, 2, 67, ACS_RTEE);
mvwaddch(menu_win, 2, 0, ACS_LTEE);
mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
mvwaddch(menu_win, 2, 67, ACS_RTEE);
+ wattron(menu_win, COLOR_PAIR(COLOR_RED));
mvwaddstr(menu_win, 1, 1, "Menu Articulos");
mvwaddstr(menu_win, 1, 1, "Menu Articulos");
+ wattroff(menu_win, COLOR_PAIR(COLOR_RED));
post_menu(menu);
wrefresh(menu_win);
post_menu(menu);
wrefresh(menu_win);
"Articulos",
"Facturas",
"Ver Registros",
"Articulos",
"Facturas",
"Ver Registros",
+ "Ver Bloques",
+ "Salir"
};
items = (ITEM **)calloc(5, sizeof(ITEM *));
};
items = (ITEM **)calloc(5, sizeof(ITEM *));
items[1] = new_item(opciones[1], "Alta,baja,consulta y modificacion de facturas.");
items[2] = new_item(opciones[2], "Ver registros de un archivo.");
items[3] = new_item(opciones[3], "Ver bloques de un archivo.");
items[1] = new_item(opciones[1], "Alta,baja,consulta y modificacion de facturas.");
items[2] = new_item(opciones[2], "Ver registros de un archivo.");
items[3] = new_item(opciones[3], "Ver bloques de un archivo.");
+ items[4] = new_item(opciones[4], "Salir del sistema.");
+ items[5] = NULL;
menu = new_menu((ITEM **)items);
menu = new_menu((ITEM **)items);
- menu_win = newwin(8, 68, 3, 1);
+ menu_win = newwin(9, 68, 3, 1);
keypad(menu_win, TRUE);
set_menu_mark(menu, " > ");
set_menu_win(menu, menu_win);
keypad(menu_win, TRUE);
set_menu_mark(menu, " > ");
set_menu_win(menu, menu_win);
- set_menu_sub(menu, derwin(menu_win, 5, 66, 3, 1));
+ set_menu_sub(menu, derwin(menu_win, 6, 66, 3, 1));
box(menu_win, 0, 0);
mvwaddch(menu_win, 2, 0, ACS_LTEE);
mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
mvwaddch(menu_win, 2, 67, ACS_RTEE);
box(menu_win, 0, 0);
mvwaddch(menu_win, 2, 0, ACS_LTEE);
mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
mvwaddch(menu_win, 2, 67, ACS_RTEE);
+ wattron(menu_win, COLOR_PAIR(COLOR_RED));
mvwaddstr(menu_win, 1, 1, "Menu Principal");
mvwaddstr(menu_win, 1, 1, "Menu Principal");
+ wattroff(menu_win, COLOR_PAIR(COLOR_RED));
post_menu(menu);
wrefresh(menu_win);
post_menu(menu);
wrefresh(menu_win);
int i;
cur = current_item(menu);
int i;
cur = current_item(menu);
if (strcmp(item_name(cur), opciones[i]) == 0)
opcion = i;
}
if (strcmp(item_name(cur), opciones[i]) == 0)
opcion = i;
}
curs_set(1);
unpost_menu(menu);
curs_set(1);
unpost_menu(menu);
+ werase(menu_win);
+ wrefresh(menu_win);
delwin(menu_win);
free_item(items[0]);
free_item(items[1]);
delwin(menu_win);
free_item(items[0]);
free_item(items[1]);
--- /dev/null
+
+#include "emufs.h"
+
+EMUFS *emufs_crear(const char *filename, int tipo)
+{
+ EMUFS *tmp = (EMUFS *)malloc(sizeof(EMUFS));
+
+ switch (tipo) {
+ case T1:
+ break;
+ case T2:
+ break;
+ case T3:
+ break;
+ default:
+ free(tmp);
+ return NULL;
+ }
+
+ return tmp;
+}
+
+
-#ifndef _INTERFACE_H_
-#define _INTERFACE_H_
+#ifndef _EMUFS_H_
+#define _EMUFS_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+
+typedef enum {T1, T2, T3} EMUFS_TYPE;
typedef struct _emu_fs_t {
typedef struct _emu_fs_t {
- enum { T1, T2, T3 } tipo; /* Corregir nombres */
+ EMUFS_TYPE tipo; /* Corregir nombres */
unsigned long tam_bloque; /* 0 si no tiene bloques */
int (*leer_bloque)(struct _emu_fs_t *, int, void *);
int (*leer_registro)(struct _emu_fs_t *, int, void *, unsigned long);
unsigned long tam_bloque; /* 0 si no tiene bloques */
int (*leer_bloque)(struct _emu_fs_t *, int, void *);
int (*leer_registro)(struct _emu_fs_t *, int, void *, unsigned long);
+EMUFS *emufs_crear(const char *filename, int tipo);