Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

изменение 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 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
8-1070552662
pavia
2003-12-04 18:44
2004.04.11
Direct3D


3-1081851727
CyBeR
2004-04-13 14:22
2004.04.11
Как вставить результат запроса Query в таблицу???.


3-1079426603
fika
2004-03-16 11:43
2004.04.11
Unicode и SQL Server


4-1075481587
Hotabich
2004-01-30 19:53
2004.04.11
Помещение картинки на форму


11-1060371722
BelchonokH
2003-08-08 23:42
2004.04.11
MHIPEDIT не виден





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский