Воскресенье, 12.05.2024, 23:02
Приветствую Вас Гость

LabSoft

Меню сайта
Категории каталога
Статьи по кодингу [24]
Материалы по кодингу
КреатиFF [144]
Рассказы, истории, анекдоты...
Разное [8]
Советы, трюки, полезные рекомендации, статьи о новом и забытом старом...
Наш опрос
Чего не хватает на сайте?
Всего ответов: 8
Главная » Статьи » Статьи по кодингу

Ресурсы в Дельфи.
Мне приходилось делать проги с использованием внешних данных (текстовые файлы, картинки, медиа файлы и.д.), но хотелось чтобы все это дабро было в одной программе...
И вот попалась статейка с использованием РЕСУРСОВ методом "вшивания" в одну программу.

Пример для текстовых файлов:
Для того чтобы создать один ресурс, который будет содержать текстовые файлы необходимо их приготовить...
Создаете файл c любым именем и с расширением *.RC; ниже приведено содержание этого файла:

DOC1 RCDATA "textfile1.txt"
DOC2 RCDATA "textfile2.txt"
и т.д.

Формат файла (для лучшего понимания):
DOC1 - Название документа вызываемого в программе;
RCDATA - место в программе, где будут находится ваши ресурсы;
textfile1.txt - используемый файл для компиляции в ресурс.

Берете чудо прогу brcc32.exe (поставляется вместе с Delphi) и компилируйте вот так:
brcc32.exe resourses.rc

В вашей программе прописываем следующее, после implementation и {$R *.dfm} пишем строчку:
{$R Data.res}
Это "скажет" вашей программе, чтобы она вшыла в себя ваш ресурс.

Собственно пример:
implementation
{$R *.dfm}
{$R Data.res} // <- ваш файл ресурсов.

procedure TForm1.Exstract_btnClick(Sender: TObject);
var
res: TResourceStream;
begin
//создаем переменную которая инициализируется с первым тектовым файом в ресурсе.
res := TResourceStream.Create(hinstance, 'DOC1', RT_RCDATA);
Memo1.Lines.LoadFromStream(res);
//и как этичные люди очищаем память которую занимали.
res.Free;
end;
end;

Категория: Статьи по кодингу | Добавил: Jimmy (15.02.2008) | Автор: Jimmy
Просмотров: 730 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0