Как использовать таблицу строк в файле RC в Delphi
Первоначальный автор: Ванджидон (Стивен Боб) Время: понедельник, 25 марта 2002 г. Сначала используйте Блокнот или Мастерскую ресурсов 4.5, чтобы создать файл RC. Структура следующая
| /************************************************ ***** ***************************rcdemo.rcPRРазработано Borland Resource Workshop*********** ***** ********************************************* ****** ***********/#include "urcdemo.pas"STRINGTABLE {IDS_HELLO, "Рада вас видеть".IDS_RC, "Эта программа создана %s." } |
Затем используйте BRCC.EXE или BRCC32.exe для компиляции rcdemo.rc в файл rcdemo.res, а затем переименуйте rcdemo.res в файл rcdemo.rc. Если вы используете Resource Workshop 4.5, будет создан файл модуля PAS. В этом случае содержимое urcdemo.pas будет следующим:
| (************************************************ ***** ***************************urcdemo.pasпроизведено Borland Resource Workshop*********** ******* ******************************************* ******** ***********)unit urcdemo;interfaceconst IDS_HELLO = 2; IDS_RC = 1;конец реализации. |
Эту технологию можно использовать для решения проблем хранения строк и проблем локализации программ при обработке ошибок. пример:
| модуль ufmRCDemo;интерфейс использует Windows, сообщения, SysUtils, варианты, классы, графику, элементы управления, формы, диалоги, StdCtrls;тип TForm1 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; GroupBox2: TGroupBox; ; Кнопка4: Процедура TButton; Button1Click(Sender: TObject); процедура Button2Click(Sender: TObject); процедура Button3Click(Sender: TObject); ;{$R rcdemo.rc}{$R *.dfm}{Использовать Windows API}процедура TForm1.Button1Click(Sender: TObject);var arystr: массив [0..255] символов;begin windows.LoadString(hInstance, IDS_RC, arystr, sizeof(arystr)); ShowMessage(arystr);end;procedure; TForm1.Button2Click(Sender: TObject);var arystr: массив [0..255] из char;begin windows.LoadString(hInstance, IDS_Hello, arystr, sizeof(arystr)); ShowMessage(arystr);end;{Использовать встроенную функцию Delphi}процедура TForm1.Button3Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_Hello)) ;конец;процедура TForm1.Button4Click(Отправитель: TObject);begin ShowMessage(LoadStr(IDS_RC));end;end. |
Примечание. Разница между 16-битным и 32-битным форматом. Загрузка экземпляра: http://www.megspace.com/computers/coreware/