AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моделирование и конструирование

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.07.2011, 14:10   #1
Da_Don
творческий
 
Аватар для Da_Don
 
Регистрация: 26.12.2007
Адрес: Империя Зла
Сообщений: 948
Отправить сообщение для Da_Don с помощью ICQ Отправить сообщение для Da_Don с помощью Skype™
По умолчанию Программирование

Всем привет.
У меня вопросы к коллегам, знающим С++.
Решил я сделать две простые программулины (задуман пакет утилит 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

перечисленные выше параметры одной нужной нам строки должны отображаться каждый в своем окошке. После правок - они должны записываться в определенное место в нашей строке.

Какая функция отвечает за такое разделение по окошкам?
Миниатюры
Нажмите на изображение для увеличения
Название: Shablon_prog.jpg
Просмотров: 313
Размер:	462.4 Кб
ID:	17368  
__________________

Без внятного ТЗ — результат ХЗ

Я в контакте http://vkontakte.ru/da_don
Я пользуюсь фотохостингом http://uyl.me/
Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio
на левых баб внимания не обращать. там будут самолеты

Последний раз редактировалось Da_Don; 06.07.2011 в 20:28.
Da_Don вне форума   Ответить с цитированием
Старый 07.07.2011, 09:59   #2
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,498
По умолчанию

Именно по функциям С++ не подскажу - знаю их плохо, но хочу уточнить несколько вопросов - что за файлы .properties ты будешь разбирать? В Dgen вроде таких нет...
А что касается обработки файлов planes.dat я бы сделал так - читал файл в базу данных, в программе организовал бы работу с БД - выбор строк, показ в полях значений их изменение и т.д, а потом бы экспортировал в текстовый файл. Так будет проще чем возиться с каждой строкой текстового файла.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием
Старый 07.07.2011, 12:35   #3
Da_Don
творческий
 
Аватар для Da_Don
 
Регистрация: 26.12.2007
Адрес: Империя Зла
Сообщений: 948
Отправить сообщение для Da_Don с помощью ICQ Отправить сообщение для Da_Don с помощью Skype™
По умолчанию

Это кодированые файлы, содержащие русские тексты для других файлов генератора, лежат в папке Dgen

У пользователя с ником Гончий Пёс с нашего форума были трудности с написанием динамических кампаний, поэтому я решил сделать кое-что для облегчения работы.

До баз данных еще не добрался, попробую сегодня реализовать ...
__________________

Без внятного ТЗ — результат ХЗ

Я в контакте http://vkontakte.ru/da_don
Я пользуюсь фотохостингом http://uyl.me/
Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio
на левых баб внимания не обращать. там будут самолеты

Последний раз редактировалось Da_Don; 07.07.2011 в 12:37.
Da_Don вне форума   Ответить с цитированием
Старый 07.07.2011, 13:56   #4
SLON
Местный
 
Аватар для SLON
 
Регистрация: 29.11.2009
Сообщений: 649
По умолчанию

не знаток, это по 1му http://forum.aviaskins.com/showthread.php?t=1889
__________________
"И создал бог землю, и компилировались её исходники 7 дней"
Уроки по модингу
Жизнь слишком коротка чтобы извлекать флешку безопасно. (с)
SLON вне форума   Ответить с цитированием
Старый 07.07.2011, 13:59   #5
Da_Don
творческий
 
Аватар для Da_Don
 
Регистрация: 26.12.2007
Адрес: Империя Зла
Сообщений: 948
Отправить сообщение для Da_Don с помощью ICQ Отправить сообщение для Da_Don с помощью Skype™
По умолчанию

Скачал, видимо аналог Il-2_ru

Я ъочу сам программинг освоить, поэтому все равно буду пробовать сделать самостоятельно

Спасибо
__________________

Без внятного ТЗ — результат ХЗ

Я в контакте http://vkontakte.ru/da_don
Я пользуюсь фотохостингом http://uyl.me/
Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio
на левых баб внимания не обращать. там будут самолеты
Da_Don вне форума   Ответить с цитированием
Старый 08.07.2011, 14:15   #6
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,498
По умолчанию

Цитата:
Сообщение от Da_Don Посмотреть сообщение
Это кодированые файлы, содержащие русские тексты для других файлов генератора, лежат в папке Dgen
Теперь понял о чем ты... Это не юникод, это что то другое. Вот процедурка конвертации на 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;
};
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием
Старый 08.07.2011, 15:56   #7
Da_Don
творческий
 
Аватар для Da_Don
 
Регистрация: 26.12.2007
Адрес: Империя Зла
Сообщений: 948
Отправить сообщение для Da_Don с помощью ICQ Отправить сообщение для Da_Don с помощью Skype™
По умолчанию

Спасибо огромное! Сегодня попробую сварганить у себя
__________________

Без внятного ТЗ — результат ХЗ

Я в контакте http://vkontakte.ru/da_don
Я пользуюсь фотохостингом http://uyl.me/
Портфолио (в разработке) http://www.wix.com/simme5/my-vision-studio
на левых баб внимания не обращать. там будут самолеты
Da_Don вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:36. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru