Иллюстрированный самоучитель по Turbo Pascal

Использование ресурса

Получить объект из ресурса не представляет проблемы: после инициации файла ресурсов Вы просто используете его метод Get, которому передаете ключ (имя) нужного ресурса.

Например, в следующей программе используется файл Status.res, созданный в предыдущем примере:

Uses Objects, Drivers, Views, Menus, Dialogs, App;
var
StatusRes: TResourceFile; {Файл ресурсов}
type
PMyApp =TМуАрр; {Программа в Turbo Vision}
ТМуАрр = object (TApplication) Constructor Init;
Procedure InitStatusLine; Virtual;
end;
Constructor TMyApp.Init;
{Открывает поток, связанный с файлом ресурсов}
begin
StatusRes.Init(New(PBufStream,
Init('status.res',stOpen,1024)));
if StatusRes.StreamA.status < > 0 then
HALT;
RegisterType(RStatusLine);
Inherited Init
end;
Procedure TMyApp.initStatusLine;
{Получает строку статуса из файла ресурсов}
begin
StatusLine: = PStatusLine(StatusRes.Get('Статус'))
end;
var
Prog: TMyApp;
begin
Prog.Init;
Prog.Run;
Prog.Done
end.

Заметим, что если в файле ресурсов нет ресурса с указанным именем, метод Get возвращает значение NIL.

Любой ресурс можно получить из файла ресурсов сколько угодно раз и в любом порядке, т.е. файл ресурсов – это поток с произвольным доступом. При необходимости можно дополнять ранее созданный файл ресурсов новыми объектами или заменять существующие в нем объекты другими.

Для ускорения доступа к файлу ресурсов его можно связать с EMS-памятью или использовать для его размещения виртуальный диск.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.