Стандартный индикатор это как? Ся умеет напрамую в него принтф делать?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено колян безпарольный 04 января 2004 г. 17:48
В ответ на: Как на СИ сделать красиво...(+) отправлено RUAL 04 января 2004 г. 09:00

Невстречял такова. Встречял те в которые коды надо ручками забивать.

В юзанном мной индикаторе была стандартная асци таблица но в тех местах где русские буквы были каракули. Русские же буквы были разбросанны по всей таблице.
Таквот, вам нужно просто врезаца в то место где из строки каждый символ шлеца в индикатор и там поставить массив соответствия.
Соответствие выбирать только при входящем символе соответствующем русским местам в асци таблице.У меня на это ушло 64 байта в коде.
Символы которые неподдерживаюца гуёй типа э и я надо заменять на символы @,№ и прочие неявляющиеся спецсимволами для sprintf.

все остальные способы с дифайнами слэшами и проч- лишний гимарой.

{char code Letters[64] = {'A',160,'B',161,224,'E',163,164,165,166,'K',167,'M','H','O',168,'P','C','T',169,170,'X',225,171,172,226,173,174,'b',175,176,177,
'a',178,179,180,227,'e',182,183,184,185,186,187,188,189,'o',190,'p','c',191,'y',228,'x',229,192,193,230,194,195,196,197,198,199};


{if (data2=='Ё') data2=162;
else
{if (data2=='ё') data2=181;
else
{if (data2=='№') data2=197;//э
else
{if (data2>191) data2=Letters[data2-192];
if (data2=='@') data2=253; //я
if (data2==0) data2=255;
}
}
}
}
XBYTE[CS3]=data2;
}

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

Ответы



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

E-mail: info@telesys.ru