Moderadores: andre_luis, 51, guest2003, Renie
typedef struct{
const char *string_opcao;
unsigned char(*func_menu)(void);
}sMenu;
#define NUM_OPCOES_MENU 4
const sMenu menuFuleiro[NUM_OPCOES_MENU] =
{
{"Opcao 01",funcao_do_menu_01},
{"Opcao 02",funcao_do_menu_02},
{"Opcao 03",funcao_do_menu_03},
{"Sair",NULL}
};
#define LCD_CLS()
#define WRITE_LCD(STRING)// função para enviar uma string para o LCD
#define LCD_GOTO(X,Y)//função para posicionar o cursor
#define CARACTER_SELECAO ">"
#define LE_TECLADO() //macro para leitura do teclado que retorna 0 quando não há tecla pressionada
#define TECLA_UP
#define TECLA_DOWN
#define TECLA_ENTER
#define TECLA_ESC
void menu_lcd(char *menuTitle){
unsigned char ponteiroOpcao=0,tecla=0xFF,menu_loop=0;
LCD_CLS();
LCD_GOTO(0,0);
WRITE_LCD( menuTitle);
do{
if(tecla){
LCD_GOTO(0,1);
WRITE_LCD(CARACTER_SELECAO);
WRITE_LCD(menuFuleiro[ponteiroOpcao].string_opcao);
}
tecla = LE_TECLADO();
switch(tecla){
case TECLA_UP : ponteiroOpcao?(ponteiroOpcao--) : (NUM_OPCOES_MENU-1);
break;
case TECLA_DOWN: ponteiroOpcao = (ponteiroOpcao+1)%NUM_OPCOES_MENU
break;
case TECLA_ENTER: if(menuFuleiro[ponteiroOpcao].func_menu)
menuFuleiro[ponteiroOpcao].func_menu();
else
menu_loop = 0xFF;
break;
case TECLA_ESC : menu_loop = 0xFF; break;
}
}
while(!menu_loop);
}
Aquino escreveu:
(Eu queria ter um iate pra passar por aí viajando e tomando mate...)
Silvio51 escreveu:Aquino escreveu:
(Eu queria ter um iate pra passar por aí viajando e tomando mate...)
É meu amigo... tem gosto pra tudo... arrrrghhh...
void funcao_do_menu_01(void)
{
}
void funcao_do_menu_02(void)
{
}
void funcao_do_menu_03(void)
{
}
typedef struct{
const char *string_opcao;
unsigned char(*func_menu)(void);
}sMenu;
#define NUM_OPCOES_MENU 4
const sMenu menuFuleiro[NUM_OPCOES_MENU] =
{
{"Opcao 01",funcao_do_menu_01},
{"Opcao 02",funcao_do_menu_02},
{"Opcao 03",funcao_do_menu_03},
{"sair"}
};
66 319 Cannot cast '' to ''
66 325 Too many initializers
void funcao_do_menu_01(void)
{
}
para utilizar ele usou
Lcd_chr(2,2,menuFuleiro[2].string_opcao); // para escrever no display e
menuFuleiro[2].func_menu;// para chamar a funçao no indice [2] correto?
isso aqui nao funciona diz q nao pode transformar ponteiros em int
Lcd_chr(2,2,menuFuleiro[2].string_opcao); // para escrever no display e
cristian escreveu:esta funçao aqui da erro ,nuca tinha visto esta forma de declarar const
entao montei e testei mas da erro
- Código: Selecionar todos
void funcao_do_menu_01(void)
{
}
void funcao_do_menu_02(void)
{
}
void funcao_do_menu_03(void)
{
}
typedef struct{
const char *string_opcao;
unsigned char(*func_menu)(void);
}sMenu;
#define NUM_OPCOES_MENU 4
const sMenu menuFuleiro[NUM_OPCOES_MENU] =
{
{"Opcao 01",funcao_do_menu_01},
{"Opcao 02",funcao_do_menu_02},
{"Opcao 03",funcao_do_menu_03},
{"sair"}
};
66 319 Cannot cast '' to ''
66 325 Too many initializers
mesmo declarando as funçoes deu erro e o NULL no mikroc nao aceitou
me explica esta funçao ai pode ser
cristian escreveu:esta funçao aqui da erro ,nuca tinha visto esta forma de declarar const
entao montei e testei mas da erro
- Código: Selecionar todos
void funcao_do_menu_01(void)
{
}
void funcao_do_menu_02(void)
{
}
void funcao_do_menu_03(void)
{
}
typedef struct{
const char *string_opcao;
unsigned char(*func_menu)(void);
}sMenu;
#define NUM_OPCOES_MENU 4
const sMenu menuFuleiro[NUM_OPCOES_MENU] =
{
{"Opcao 01",funcao_do_menu_01},
{"Opcao 02",funcao_do_menu_02},
{"Opcao 03",funcao_do_menu_03},
{"sair"}
};
66 319 Cannot cast '' to ''
66 325 Too many initializers
mesmo declarando as funçoes deu erro e o NULL no mikroc nao aceitou
me explica esta funçao ai pode ser
cristian escreveu:esta funçao aqui da erro ,nuca tinha visto esta forma de declarar const
entao montei e testei mas da erro
- Código: Selecionar todos
void funcao_do_menu_01(void)
{
}
void funcao_do_menu_02(void)
{
}
void funcao_do_menu_03(void)
{
}
typedef struct{
const char *string_opcao;
unsigned char(*func_menu)(void);
}sMenu;
#define NUM_OPCOES_MENU 4
const sMenu menuFuleiro[NUM_OPCOES_MENU] =
{
{"Opcao 01",funcao_do_menu_01},
{"Opcao 02",funcao_do_menu_02},
{"Opcao 03",funcao_do_menu_03},
{"sair"}
};
66 319 Cannot cast '' to ''
66 325 Too many initializers
mesmo declarando as funçoes deu erro e o NULL no mikroc nao aceitou
me explica esta funçao ai pode ser
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante