[an error occurred while processing this directive]
По поводу меню на С++(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено GPP 24 октября 2005 г. 10:00

Готов выслушать любые замечания. Напоминаю - я только начал изучать С++.
Сильно не пинайте. Вот до чего додумался за выходные:

char __flash _str1_CRTC[] = " Калибр. термо- ";
char __flash _str2_CRTC[] = "преобразователя ";
char __flash _str1_Calibr[] = " Калибровка ";
char __flash _str2_Calibr[] = " канала %1d ";
char __flash _str_type[] = "Тип ТП канала %1d";
char __flash _str_TCM50[] = " ТСМ50 ";
char __flash _str_TCM100[] = " ТСМ100 ";
char __flash _str_TCP50[] = " ТСП50 ";
char __flash _str_TCP100[] = " ТСП100 ";
char __flash _CalibrChannel[]= "Калибр. канала %1d";
char __flash _CalibrTCM50[] = " ТСМ50 \x001=%3.1d\x004\x043";
char __flash _CalibrTCM100[] = "ТСМ100 \x001=%3.1d\x004\x043";
char __flash _CalibrTCP50[] = " ТСП50 \x001=%3.1d\x004\x043";
char __flash _CalibrTCP100[] = "ТСП100 \x001=%3.1d\x004\x043";

__no_init __eeprom int nCh;
__no_init __eeprom int TypeTC[3];
__no_init __eeprom int Tabl_TC[3][sizeof(Tabl_T_TCP)/sizeof(int)]; // таблицы напряжений для термосопротивлений


class TItemMenu;

class TItemMenu
{
public:
struct ItemMenu
{
char __flash *Text1;
char __flash *Text2;
int __eeprom *Arg1; // аргумент 1
int __eeprom *Arg2; // аргумент 2
int __eeprom *Arg3; // аргумент 3
int Param1; // параметр 1
int Param2; // параметр 2
int nMenu; // номер меню
};
TItemMenu *MenuPtr;
virtual void ShowMenu();
};

class MenuRTC : public TItemMenu
{
ItemMenu __flash *menuRTC;

public:
enum eRTC {channel1, channel2, channel3, tcm50, tcm100, tcp50, tcp100};

MenuRTC();
void ShowMenu();
};

MenuRTC::ItemMenu __flash menuRTC[] =
{
_str1_CRTC, _str2_CRTC, 0, 0, 0, 0, 0, 0,
_str1_Calibr, _str2_Calibr, &nCh, 0, 0, MenuRTC::channel1, MenuRTC::channel3, 1,
_str_type, 0, &nCh, &TypeTC[0], 0, MenuRTC::tcm50, MenuRTC::tcp100, 2,
_CalibrChannel, 0, &nCh, &TypeTC[0], &Tabl_TC[0][0], 0, 0, 3,
};

MenuRTC::MenuRTC()
{
}

void MenuRTC::ShowMenu(void)
{
;
}

int main(void)
{
MenuRTC Menu_RTC;
TItemMenu *MenuPtr;

MenuPtr = &Menu_RTC;
while (1)
{
MenuPtr->ShowMenu();
}
}

Но и попутно вопрос.
Как сделать инициализацию __flash menuRTC[] в конструкторе?



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru