|
|
|
#1 |
|
творческий
|
Всем привет.
У меня вопросы к коллегам, знающим С++. Решил я сделать две простые программулины (задуман пакет утилит DGen dev helper) для облегчения жизни дизайнеров динамических кампаний, особых проблем с написанием нет, но хотелось бы уточнить вот что: 1) Одна из программ призвана открывать .properties, автоматом (или по нажатию кнопки - не важно) перегонять из юникода в кириллицу и по завершении работы с текстом сохранять в юникод. Как заставить утилиту (фактически - примитивный блокнот) понимать юникод и кодировать/декодировать (и сохранять в нем)? 2) Вторая утилита открывает файлы ...planes.dat и (это главное) должна параметры настройки самолета распихивать по окошкам для удобства правки, например: Axis Finland Reconplane BLENHEIM1 300 3000 3000 default 1 Axis Finland Reconplane BLENHEIM1 300 3000 3000 default 1 перечисленные выше параметры одной нужной нам строки должны отображаться каждый в своем окошке. После правок - они должны записываться в определенное место в нашей строке. Какая функция отвечает за такое разделение по окошкам?
__________________
![]() Без внятного ТЗ — результат ХЗ Я в контакте http://vkontakte.ru/da_don Я пользуюсь фотохостингом http://uyl.me/ Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio на левых баб внимания не обращать. там будут самолеты Последний раз редактировалось Da_Don; 06.07.2011 в 20:28. |
|
|
|
|
|
#2 |
|
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,890
|
Именно по функциям С++ не подскажу - знаю их плохо, но хочу уточнить несколько вопросов - что за файлы .properties ты будешь разбирать? В Dgen вроде таких нет...
А что касается обработки файлов planes.dat я бы сделал так - читал файл в базу данных, в программе организовал бы работу с БД - выбор строк, показ в полях значений их изменение и т.д, а потом бы экспортировал в текстовый файл. Так будет проще чем возиться с каждой строкой текстового файла. |
|
|
|
|
|
#3 |
|
творческий
|
Это кодированые файлы, содержащие русские тексты для других файлов генератора, лежат в папке Dgen
У пользователя с ником Гончий Пёс с нашего форума были трудности с написанием динамических кампаний, поэтому я решил сделать кое-что для облегчения работы. До баз данных еще не добрался, попробую сегодня реализовать ...
__________________
![]() Без внятного ТЗ — результат ХЗ Я в контакте http://vkontakte.ru/da_don Я пользуюсь фотохостингом http://uyl.me/ Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio на левых баб внимания не обращать. там будут самолеты Последний раз редактировалось Da_Don; 07.07.2011 в 12:37. |
|
|
|
|
|
#4 |
|
Местный
Регистрация: 29.11.2009
Сообщений: 649
|
не знаток, это по 1му http://forum.aviaskins.com/showthread.php?t=1889
__________________
"И создал бог землю, и компилировались её исходники 7 дней" Уроки по модингу Жизнь слишком коротка чтобы извлекать флешку безопасно. (с) |
|
|
|
|
|
#5 |
|
творческий
|
Скачал, видимо аналог Il-2_ru
Я ъочу сам программинг освоить, поэтому все равно буду пробовать сделать самостоятельно Спасибо
__________________
![]() Без внятного ТЗ — результат ХЗ Я в контакте http://vkontakte.ru/da_don Я пользуюсь фотохостингом http://uyl.me/ Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio на левых баб внимания не обращать. там будут самолеты |
|
|
|
|
|
#6 | |
|
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,890
|
Цитата:
Это не юникод, это что то другое. Вот процедурка конвертации на C.Код:
char *convertRu(char *WinTxt)
{
static char OlegTxt[16384],tmpstr[2];
char c;
strcpy(OlegTxt,"");
while (c=*WinTxt++) {
if (strlen(OlegTxt)>16384)
break;
switch (c) {
case 'А':
strcat(OlegTxt,"\\u0410");
break;
case 'Б':
strcat(OlegTxt,"\\u0411");
break;
case 'В':
strcat(OlegTxt,"\\u0412");
break;
case 'Г':
strcat(OlegTxt,"\\u0413");
break;
case 'Д':
strcat(OlegTxt,"\\u0414");
break;
case 'Е':
strcat(OlegTxt,"\\u0415");
break;
case 'Ё':
strcat(OlegTxt,"\\u0401");
break;
case 'Ж':
strcat(OlegTxt,"\\u0416");
break;
case 'З':
strcat(OlegTxt,"\\u0417");
break;
case 'И':
strcat(OlegTxt,"\\u0418");
break;
case 'Й':
strcat(OlegTxt,"\\u0419");
break;
case 'К':
strcat(OlegTxt,"\\u041A");
break;
case 'Л':
strcat(OlegTxt,"\\u041B");
break;
case 'М':
strcat(OlegTxt,"\\u041C");
break;
case 'Н':
strcat(OlegTxt,"\\u041D");
break;
case 'О':
strcat(OlegTxt,"\\u041E");
break;
case 'П':
strcat(OlegTxt,"\\u041F");
break;
case 'Р':
strcat(OlegTxt,"\\u0420");
break;
case 'С':
strcat(OlegTxt,"\\u0421");
break;
case 'Т':
strcat(OlegTxt,"\\u0422");
break;
case 'У':
strcat(OlegTxt,"\\u0423");
break;
case 'Ф':
strcat(OlegTxt,"\\u0424");
break;
case 'Х':
strcat(OlegTxt,"\\u0425");
break;
case 'Ц':
strcat(OlegTxt,"\\u0426");
break;
case 'Ч':
strcat(OlegTxt,"\\u0427");
break;
case 'Ш':
strcat(OlegTxt,"\\u0428");
break;
case 'Щ':
strcat(OlegTxt,"\\u0429");
break;
case 'Ъ':
strcat(OlegTxt,"\\u042A");
break;
case 'Ы':
strcat(OlegTxt,"\\u042B");
break;
case 'Ь':
strcat(OlegTxt,"\\u042C");
break;
case 'Э':
strcat(OlegTxt,"\\u042D");
break;
case 'Ю':
strcat(OlegTxt,"\\u042E");
break;
case 'Я':
strcat(OlegTxt,"\\u042F");
break;
case 'а':
strcat(OlegTxt,"\\u0430");
break;
case 'б':
strcat(OlegTxt,"\\u0431");
break;
case 'в':
strcat(OlegTxt,"\\u0432");
break;
case 'г':
strcat(OlegTxt,"\\u0433");
break;
case 'д':
strcat(OlegTxt,"\\u0434");
break;
case 'е':
strcat(OlegTxt,"\\u0435");
break;
case 'ё':
strcat(OlegTxt,"\\u0451");
break;
case 'ж':
strcat(OlegTxt,"\\u0436");
break;
case 'з':
strcat(OlegTxt,"\\u0437");
break;
case 'и':
strcat(OlegTxt,"\\u0438");
break;
case 'й':
strcat(OlegTxt,"\\u0439");
break;
case 'к':
strcat(OlegTxt,"\\u043A");
break;
case 'л':
strcat(OlegTxt,"\\u043B");
break;
case 'м':
strcat(OlegTxt,"\\u043C");
break;
case 'н':
strcat(OlegTxt,"\\u043D");
break;
case 'о':
strcat(OlegTxt,"\\u043E");
break;
case 'п':
strcat(OlegTxt,"\\u043F");
break;
case 'р':
strcat(OlegTxt,"\\u0440");
break;
case 'с':
strcat(OlegTxt,"\\u0441");
break;
case 'т':
strcat(OlegTxt,"\\u0442");
break;
case 'у':
strcat(OlegTxt,"\\u0443");
break;
case 'ф':
strcat(OlegTxt,"\\u0444");
break;
case 'х':
strcat(OlegTxt,"\\u0445");
break;
case 'ц':
strcat(OlegTxt,"\\u0446");
break;
case 'ч':
strcat(OlegTxt,"\\u0447");
break;
case 'ш':
strcat(OlegTxt,"\\u0448");
break;
case 'щ':
strcat(OlegTxt,"\\u0449");
break;
case 'ъ':
strcat(OlegTxt,"\\u044A");
break;
case 'ы':
strcat(OlegTxt,"\\u044B");
break;
case 'ь':
strcat(OlegTxt,"\\u044C");
break;
case 'э':
strcat(OlegTxt,"\\u044D");
break;
case 'ю':
strcat(OlegTxt,"\\u044E");
break;
case 'я':
strcat(OlegTxt,"\\u044F");
break;
default:
sprintf(tmpstr,"%c",c);
strcat(OlegTxt,tmpstr);
};
};
return OlegTxt;
};
|
|
|
|
|
|
|
#7 |
|
творческий
|
Спасибо огромное! Сегодня попробую сварганить у себя
__________________
![]() Без внятного ТЗ — результат ХЗ Я в контакте http://vkontakte.ru/da_don Я пользуюсь фотохостингом http://uyl.me/ Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio на левых баб внимания не обращать. там будут самолеты |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|