Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Как добать базу данных в EXE файл   Найти похожие ветки 

 
-Evgeney -   (2004-03-05 08:15) [0]

Тоесть чтобы после компиляции база данных бала в exe-ке огромное спасибо тем кто откликнится.


 
Рамиль ©   (2004-03-05 08:19) [1]

БД в обычном понимании ну ни как не получится. Можно только ресурсы.


 
-Evgeney -   (2004-03-05 08:20) [2]

как это можно сделать через ресурсы, ссылочка есть?


 
-Evgeney -   (2004-03-05 08:35) [3]

Как то же люди впихивать базу в EXE?


 
Hooch ©   (2004-03-05 08:42) [4]

какие люди ?


 
Anatoly Podgoretsky ©   (2004-03-05 08:42) [5]

rc файл и поделючить к проекту.


 
-Evgeney -   (2004-03-05 08:45) [6]

Понятно всем спасибо.


 
Digitman ©   (2004-03-05 09:09) [7]


> -Evgeney


если не предполагается модифицировать базу в ран-тайм (после ее извлечения из ресурса в ходе работы с ней), то такое извращение еще как-то можно оправдать

а если требуется модификация ? как намерен обновленную базу записывать назад в ресурс ? в ран-тайм ?


 
Anatoly Podgoretsky ©   (2004-03-05 09:12) [8]

Для указанной платформы решается.


 
Кщд   (2004-03-05 09:15) [9]

Anatoly Podgoretsky ©   (05.03.04 09:12) [8]
в какую сторону думать?


 
Anatoly Podgoretsky ©   (2004-03-05 09:16) [10]

В сторону наследника от TDataset


 
Digitman ©   (2004-03-05 09:28) [11]


> Anatoly Podgoretsky ©   (05.03.04 09:12) [8]
> Для указанной платформы решается.


я не об этом ... понятно, что соотв.ф-ции для модификации ресурсов в ран-тайм имеются

другой вопрос - нетривиальная организация логики обновления ресурса в условиях когда ресурс относится именно к РЕ-модулю (т.е. в дан.случае с ехе-файлом), ассоциированному с тек.процессом ... если не задействовать разного рода недок.трюки, то поизвращаться придется крепко ... стоит ли задумка того ? ... вот в чем вопрос ..


 
Anatoly Podgoretsky ©   (2004-03-05 09:51) [12]

Модификация ресурса не является сложной задачей. Но обычно тот кто может это реализовать не будет это делать из за отсутсвия реальной необходимости. Основную сложность вызовет не ресурс, а разработка TResouceDataset

В свое время ФоксПро 2.6 имел такую штатную возможность, как RO таблица в ресурсе и полноценная работа с ним, возможно более позднии версии сохранили эту возможность. Так что если есть такая необходимость то можно подумать о готовом инструменте с реализованной возможностью, то есть Visual FoxPro
Но мне кажется что реально такой необходимости по всей видимости нет.


 
Digitman ©   (2004-03-05 10:02) [13]


> Anatoly Podgoretsky ©   (05.03.04 09:51) [12]


> Основную сложность вызовет не ресурс, а разработка TResouceDataset


а что там сложного ?
если опираться на логику цельного считывания ресурса (хранящего полные БД-данные) в блок памяти, то разработка сабжа сводится к его наследованию от какого-нибудь TMemoryDataSet или TClientdataSet... при открытии НД, ассоциированного с сабжем, сначала ресурс считывается в блок памяти достаточного размера, а далее работа с блоком уже реализована в методах готового класса-предка

здесь другой вопрос - что подразумевается автором под базой данных ... ведь в общем случае БД - это не только некая единственная табличка, на основании данных в которой требуется сформировать в ран-тайм некий НД ..


 
Anatoly Podgoretsky ©   (2004-03-05 10:15) [14]

У меня тоже сомнения насчет понятий :-)


 
Игорь   (2004-03-05 12:26) [15]

Мне тоже нужна такая фигня. Я делаю справочник только для просмотра. И нужно, чтобы был только один файл - EXE.
Есть ли готовый компонент для отображения таблицы, хранящейся в ресурсах файла?
Я нашел такой в RXLib - RxMemoryData. Но данные в него надо закачивать самому, это занимает много времени, когда таблица большая. Вот если бы компонент сам сохранял в своих ресурсах таблицу, как, например, TImage сохраняет в ресурсах картинку.
Если кто что подобное видел...


 
Digitman ©   (2004-03-05 12:41) [16]


> Есть ли готовый компонент для отображения таблицы, хранящейся
> в ресурсах файла?


да по колено, где она хранится !

ресурс PE-модуля - всего лишь своего рода контейнер

в ран-тайм птвоим приложением выделяется память и из контейнера этого туда считываются данные, хранимые там

в каком формате хранятся данные в этом (или любом ином) контейнере - тебе решать

ну пусть это, например, будут данные в формате, генерируемом компонентом TClientDataSet
тогда в ран-тайм ты создаешь экз-р класса TResourceStream, считываешь в этот поток данные из ресурса
далее создаешь экз-р TClientDataSet и вызываешь его метод LoadFromStream

все ! НД готов к работе ! Его подготовил ClientDataSet ..

а далее все как обычно и до безобразия просто : создаешь экз-ры TDatasource и TDBGrid, настраиваешь цепочку TClientDataSet + TDatasource + TDBGrid, как если бы вместо TClientDataSet был лбой другой компонент, например, TTable ... и все ! НД у тебя перед носом в гриде ! делай с ними что хошь ..



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.061 c
14-1078843781
Dlorean
2004-03-09 17:49
2004.04.04
Полетела файловая система FAT32!


3-1078470164
bushmen
2004-03-05 10:02
2004.04.04
ADOStoredProc


6-1074693713
zxc
2004-01-21 17:01
2004.04.04
про send


14-1078648724
juiceman
2004-03-07 11:38
2004.04.04
остановить сервис


6-1074874506
Климов А
2004-01-23 19:15
2004.04.04
Просканить порты