Показать сообщение отдельно
Непрочитано 17.08.2015, 21:03  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: PIC18+TFT_320QWT_mikroBasic

Сообщение от Dtolok Посмотреть сообщение
оператор условия
Это единственное что ты знаешь и используешь?
Убедить? Легко - будь любезен изобразить сие на барсике :

Код:
// Prototypes:
void Level1Item1Sub1_Text(void);
void Level1Item1Sub1_Func(void);
void LcdPrint(const char*);

// Menus:
 MAKE_MENU(Level1Item1, Level1Item2, Level1Item3, NULL_ENTRY , Level1Item1Sub1, NULL_FUNC, NULL_FUNC, "Tune    ");
 MAKE_MENU(Level1Item2, Level1Item3, Level1Item1, NULL_ENTRY , NULL_ENTRY     , NULL_FUNC, NULL_FUNC, "RTC     ");
 MAKE_MENU(Level1Item3, Level1Item1, Level1Item2, NULL_ENTRY , NULL_ENTRY     , NULL_FUNC, NULL_FUNC, "Set     ");


 MAKE_MENU(Level1Item1Sub1, NULL_ENTRY , NULL_ENTRY , Level1Item1, NULL_ENTRY, Level1Item1Sub1_Func , Level1Item1Sub1_Text , "Fine tun");
Код:
Menu_Item const  Null_Menu = {(void*)0, (void*)0, (void*)0, (void*)0, (FuncPtr)0, (FuncPtr)0, {0x00}};
Menu_Item const  *CurrMenuItem;
WriteFuncPtr*    WriteFunc;



void MenuChange(Menu_Item const *NewMenu)
{
	if ((void*)NewMenu == (void*)&NULL_ENTRY)
	  return;

	CurrMenuItem = NewMenu;

        ((WriteFuncPtr)WriteFunc)(( const char *)CurrMenuItem-›Text);

        GO_MENU_FUNC(ENTERFUNC);
}

void MenuFunc(FuncPtr* Function)
{
	if ((void*)Function == (void*)NULL_FUNC)
	  return;

	((FuncPtr)Function)();
}

А также будь любезен портируй на свой барсик FATfs от Chan'а или microRL.

На будущее - не стоит экстраполировать узость своих знаний и мышления на возможности языка ...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 17.08.2015 в 21:16.
dosikus вне форума