КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Delphi. Работа с ресурсамиWindows поддерживает такие виды ресурсов:
Самый простой из них это RT_STRING — то есть строковый. Для работы с ним предусмотрено специальное зарезервированное слово — resourcestring. Пример использования строковых ресурсов смотрите ниже. unit StrConst; interface resourcestring SCreateError = ’Cannot create file’; implementation end. Объявленные строковые ресурсы можно использовать как стандартные константы. Например: unit Main; interface uses type var implementation uses StrConst; procedure TForm1.Button1Click(Sender: TObject); Второй способ сделать то же самое немного сложнее, но он показывает принцип работы с ресурсами вообще. Для этого нам нужно создать включаемый файл myres.inc и в теле прописать константы, по которым мы будем обращаться к строковым ресурсам. const Еще нам нужно создать ресурсный текстовый файл myres.rc. #include «myres.inc»; STRINGTABLE { SCreateError, «Cannot create file» SOpenError, «Cannot open file» SLineTooLong, «Line too long» } Обратите внимание, что теперь текст нужно брать в двойные кавычки. Теперь нам необходимо откомпилировать наш файл ресурсов. Создаем для удобства простой пакетный файл myres.bat, в который записываем такую строку brcc32.exe myres.rc Запускаем его на выполнение. Он должен создать скомпилированный файл ресурса myres.res. Если этого не произошло, то вам необходимо указать полный путь к файлу brcc32.exe. Это, как правило, C:\Program Files\Borland\DelphiX\Bin\brcc32.exe, где вместо X — номер вашей версии Delphi. Теперь подключаем myres.inc и myres.res в наш Main.pas. unit Main; interface uses type var implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); end. Теперь попробуем подключить к приложению свой курсор. Для этого необходимо: 1. Сначала в Image Editor’е или другом редакторе ресурсов создать свой курсор. Сохранить его под именем, например, Cursor.cur 2. Создаем файл MyCursor.rc, в теле которого записываем строку 3. MyCursor CURSOR «cursor.cur» 4. 3. Компилируем наш файл ресурса, набрав в командной строке 5. brcc32 MyCursor.rc и получаем на выходе скомпилированный файл ресурса MyCursor.res. 4. В *.pas-файле добавляем ссылку на наш файл ресурса. {$R MyCursor.res} 5. Объявляем константу, по которой будем обращаться к нашему курсору. const Замечание. Для своих курсоров можно использовать только положительные значения. 6. Добавляем в список курсоров новый… Screen.Cursors[crMyCursor] := LoadCursor(HInstance, ‘MyCursor’); 7. Подключаем, вместо курсора по умолчанию, свой курсор. Cursor := crMyCursor; 8. Запускаем приложение. unit Main; interface uses type var implementation {$R MyCursor.res} procedure TForm1.FormCreate(Sender: TObject); end. Подключение иконок и bitmap-ресурсов аналогично подключению курсоров. Мы попробуем подключить стандартные иконки и bitmap’ы. Это делается так. Image1.Picture.Icon.Handle := LoadIcon(0, PChar(IDI_APPLICATION)); Для более подробной информации смотрите соответствующие функции WinApi. Теперь мы перешли к работе с определенными пользователем ресурсами. Мы попробуем подключить текстовый и *.avi-файл. 1. Берем из примеров Delphi файл cool.avi, который находится в каталоге 2. Создаем любой текстовый файл с именем app.txt и помещаем эти файлы к каталог нашего проекта. 3. Создаем текстовый файл ресурса MyRes.rc с телом MyText Text APP.TXT 4. Компилируем его… brcc32 myres.rc 5. Делаем изменения в *.pas-файле. 6. Запускаем. unit Main; public
|