Вниз
Скачать: CL | DM;

изменение resourcestring в момент выполнения программы   Найти похожие ветки 

← →
Alex Shulg ©   (2004-03-17 17:53) [0]

Использую в программе MessageDlg, чтобы перевести его кнопки на другой язык (пока речь идет о русском) нашел один пример (модуль), замены ресурсных строк, прошитых в MessageDlg. Переведенные строки в данном модуле объявленны как resourcestring.
1) Как я могу их изменить во время выполнения?
2) Пробовал переделать resourcestring в типизированные строковые константы, тогда я могу менять значения строк, но при таком раскладе, в MessageDlg все надписи на кнопках перепутаны (впечатление, что происходит смещение массива TMsgDlgType на 1).
Как можно решить данные проблемы?


← →
Cobalt ©   (2004-03-17 18:55) [1]

Насчёт 2-го пункта поподробнее - что вы изменили?


← →
Alex Shulg ©   (2004-03-18 15:33) [2]

Заменил
resourcestring
 SMsgDlgLangYes = "Yes";
 SMsgDlgLangNo = "No";
 SMsgDlgLangOK = "Ok";
 SMsgDlgLangCancel = "Cancel";
 ...
на
const
 SMsgDlgLangYes: String = "Yes";
 SMsgDlgLangNo: String = "No";
 SMsgDlgLangOK: String = "Ok";
 SMsgDlgLangCancel: String = "Cancel";
 ...
Во время выполнения изменяю:
 SMsgDlgLangYes:=LangFile.ReadString("Common","ButtonYes",SMsgDlgLangYes);
 SMsgDlgLangNo:=LangFile.ReadString("Common","ButtonNo",SMsgDlgLangNo);
 ...


← →
Cobalt ©   (2004-03-18 18:52) [3]

Хм, странно. А вы проверьте, что попадает в
SMsgDlgLangYes:=LangFile.ReadString ?


← →
Alex Shulg ©   (2004-03-19 12:08) [4]

Проверял, попадает то, что нужно. Здесь глюка нет.


← →
Cobalt ©   (2004-03-19 13:15) [5]

Ну, блин, товарищ!!!
Вы хоть посмотрели бы справку по resourcestring...

Resource strings are stored as resources and linked into the executable or library so that they can be modified without recompiling the program. For more information, see Internationalization and localization and the topics that follow it.
Используйте этот механизм, а не придумывайте свой велосипед.

А по проблеме - отладка, отладка и ещё раз отладка. Смотрите, как изменяются данные модуля Dialogs. Отлаживайте создание формы диалога.


← →
Alex Shulg ©   (2004-03-19 15:18) [6]

Решил не заморачиваться и использовать MessageBox


← →
GrayFace ©   (2004-03-19 19:48) [7]

Cobalt © [5], где ты нашел эту справку? В Delphi среди топиков нет "Internationalization and localization".



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.045 c
1-1080052633
kingdom
2004-03-23 17:37
2004.04.11
Как программно проверить, что IE отобразил страницу


14-1082378534
Yanis
2004-04-19 16:42
2004.04.11
HTML


1-1080031842
Zendor
2004-03-23 11:50
2004.04.11
удаление информации из файла


6-1079358074
maxim_caban
2004-03-15 16:41
2004.04.11
Пишу Proxy.... Есть вопросы....


14-1082426259
Думкин
2004-04-20 05:57
2004.04.11
С днем рождения! 20 апреля.




   Наверх