Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Извлечение из ресурсов [D7, Win2k]


vasili ©   (2004-10-04 10:47:00) 

Здраствуйте, пишу проект для работы с базой данных  умудрился запихать файл в сам проект в виде ресурса и очень хочется узнать возможно ли обращение к этому ресурсу и работа с ним моей программы типа добавление и\или изменение данных в таблицы?,
а также интересует как можно извлечь этот ресурс на винт в виде файла?

Заранее спасибо.


vasili   (2004-10-06 05:25:00) [1]

а чем плох этот вариант?


TUser   (2004-10-04 14:25:00) [2]

ИМХО, конечно, но способ не рациональный. Если база большая - это это не есть гуд, ее в ресурсах иметь, если маленькая - тогда нужны ли тебе вообще бд?


Users   (2004-10-04 12:04:00) [3]

Тогда тебе придется все время держать базу в памяти.
Т.е. при страрте приложения загружать таблицу(ы) в память, а на выход из приложения записывать все это снова в EXE. Но это плохо т.к. если будет крах приложения или его просто закроют из Task менеджера - все данные введенные за сеанс потеряются.

Лучше всего, на время выполнения приложения создавать временный файл (dbf, mdb и т.д.) работать с ним, а при закрытии сохранять в exe и удалять. Так если произойдет крах приложения, можно будет при старте проверить - если есть файл db - значит предыдущий сеанс завершился с ошибкой.


vasili   (2004-10-04 11:20:00) [4]

спасибо этот способ работает, но в ходе моих измышлений захотелось работать с этим файлом прямо в exe' шнике или хотя бы dll ки возможно как нибудь это сделать?


Семен Сорокин   (2004-10-04 11:04:00) [5]


> интересует как можно извлечь этот ресурс на винт в виде
> файла?

with TResourceStream.CreateFromID(HInstance, 1 {номер под которым занесен в ресурс}, RT_RCDATA) do
 try
  SaveToFile(FileName)
 finally
  Free
 end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо