Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Как добать базу данных в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.031 c
1-1079702876
Infom
2004-03-19 16:27
2004.04.04
StringGrid


3-1078409004
stelius
2004-03-04 17:03
2004.04.04
Bмена таблиц в базе данных MS Access


6-1075194978
cherep
2004-01-27 12:16
2004.04.04
delphi и telnet


3-1078372294
Genemy
2004-03-04 06:51
2004.04.04
cross-tab отчет в FR


1-1078996316
Karlson
2004-03-11 12:11
2004.04.04
Компонент на компоненте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский