Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

я в Delphi делал так...

Отправлено A_R_V (172.20.20.23,87.117.1.141) 11 февраля 2011, г. 10:48
В ответ на: в BCB6 как сделать, чтобы динамически изменять подписи элементов (Label и Captions и т.д.) на разных языках ? Можно тупо через массив указателей, но хотелось бы встроенными средствами IDE отправлено MegaJohn 11 февраля 2011, г. 09:43

каждый компонент имеет уникальное свойство Name - латинскими буквами, это поле совпадает с идентификатором соответствующего объекта в программе. так вот, я написал в методе OnCreate формы функцию, которая просматривает все дочерние компонеты (контролы) формы и записывает в ini-файл в группу [Form.Name] строки вида Controls[i].Name = Controls[i].Caption
то есть получается что-то типа
Label13=Введите число:
это делаю для каждой формы. тогда после запуска программы создается ini-файл, в котором выписаны все элементы управления и их соответствующий текст.

кроме этого я делаю функцию обратную вышеупомянутой: которая читает нужный раздел ini-файла, ищет по именам контролов их на форме и заменяет их Caption-ы.

итак, мультиязычность делается так:
1. пишем прогу по упомянутым правилам
2. запускаем ее, она создает файл типа default_lang.ini
3. после запуска полученный Ini-файл дублицируем нужное кол-во раз и правим каждую строку, переводя текст на нужный язык. файлы переименовываем в english_lang.ini и т.д.
4. добавляем в прогу функцию установки языка, которая открывает указанный ей ini-файл и делает свои черные дела.
5. если кроме интерфейса надо что-то еще транслировать на другой язык - это делается аналогично в том же ини-файле...

не знаю, понятно ли объяснил...


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru