Главная страница
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.021 c
1-13185
swordent
2003-05-26 17:26
2003.06.05
ZIP... ну или ещё чего...


1-13191
Doc
2003-05-26 22:54
2003.06.05
Мерцание RichEdit.


14-13407
LOX
2003-05-11 14:25
2003.06.05
Cлепил браузер


3-13100
Pat
2003-05-18 23:24
2003.06.05
Опять Access+ADO под ХР


1-13113
Song
2003-05-23 08:38
2003.06.05
TListView, родительский TListItem. vsReport