Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Один код для нескольких форм   Найти похожие ветки 

 
AlexKa   (2003-05-23 14:45) [0]

Может кто сталкивался, как сделать сабж? Содержимое форм разумеется одно и то же, различается только язык. Можно ли такое сделать?


 
Palladin ©   (2003-05-23 14:47) [1]

Можно, но только не так как ты задумал, это уже изврат, сам себе яму роешь при добавлении нового элемента, его нужно и туда и туда чтоли? Не умрешь от тоски?


 
AlexKa   (2003-05-23 15:55) [2]

Ну может и изврат, только как сделать-то по другому? Что-то больше ничего не приходит на ум.


 
Palladin ©   (2003-05-23 16:00) [3]

Project\Languages\Add


 
Владислав ©   (2003-05-23 17:08) [4]

Так и не понял, чего ты хочешь сделать...
Тебе нужна локализация программы? Программа для разных "человеческих" языков?
При чем здесь код формы тогда?..


 
AlexKa   (2003-05-23 18:22) [5]

Нужно иметь две версии проги, которые жестко привязаны к своему языку, например, русская версия и английская, без возможности локализовать друг друга.


 
Sandman25 ©   (2003-05-23 18:40) [6]

Можно хранить константный массив со строками и перед компиляцией изменять одну константу, например LANG.

type TLanguage = (lgRus, lgEng);
TElement = (elOK, elMainFormCaption, {...});
const LANG: TLanguage = lgRus;
type El: array[TLanguage,TElement] of string =
(("Да","Yes"),("Печать документов","Document printing"){...});

При инициализации программы загружать свойства.
FMainForm.Caption := El[LANG,elMainFormCaption];
При необходимости отобразить какое-либо сообщение - аналогично.
ShowMessage(El[LANG,elDisplayWarning]);


 
Sandman25 ©   (2003-05-23 18:44) [7]

Перед описанием El слово type нужно убрать, конечно.


 
AlexKa   (2003-05-23 18:57) [8]

Спасибо, попробую сделать что-нить в этом духе.


 
Юрий Федоров ©   (2003-05-23 19:25) [9]

См. Palladin © (23.05.03 16:00)


 
Юрий Зотов ©   (2003-05-23 21:04) [10]

> Можно хранить константный массив со строками

А можно и просто строки. В DLL, в виде ресурсов. А загружать их через LoadString.

Для каждого языка - своя DLL. Какую загрузишь - такой язык и получишь. Хоть на лету его меняй. И при этом, сколько бы языков ни поддерживалось, в EXE не меняется ни одной строчки. Его даже можно вообще не перекомпилировать.

Это и есть нормальная, профессиональная локализация.



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-13392
Till
2003-05-16 07:39
2003.06.05
Oracle Data Access Components Net 4.05.1.8 for Delphi 6


8-13334
Alexanders
2003-02-22 13:28
2003.06.05
Проигрывание и навигация по wav файлу из памяти


3-13065
Tolik_tmp
2003-05-11 22:42
2003.06.05
Установка связи с Access


14-13420
Vlad Oshin
2003-05-19 12:28
2003.06.05
оцените навскидку ноутбук, чтоб мне отвязаться :), пожалуст


1-13231
кондратий
2003-05-26 18:35
2003.06.05
Enter > Tab