IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Как хранить небольщую БД в самой программе? (https://www.imho.ws/showthread.php?t=34158)

AMiR 11.07.2003 01:38

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

BRULIK 14.07.2003 18:57

На каком языке ты хочеш это сделать ?

TaTaP 15.07.2003 04:52

Хлопотно это - сохранять данные в программе... Гиммора много... Намного проще все хранить в отдельном файлике, формат его можешь сам придумать, зашифровать его можно и т.д. А сколько у тебя знакомых - много или нет... Может сейчас немного, но ты знакомишься - круг людей растет, базка ширится и все... гигабайты винчестера уходят в прекрасное далеко :)))...

RaZEr 16.07.2003 18:24

Для Delphi и VC есть стандартные ф-ии работы с INI файлами, а также можно воспользоваться компонентом или библиотекой для работы с XML. Впрочем никто не мешает и с базами данных вроде MySQL, MSSQL и т.д. работать, если есть желание разбираться с их API.

hardkod 30.07.2003 17:28

Можно хранить данные в файле, базе внешней или например реестре.
А мона придумать свой формат и приписывать в конце к exe файлу (программе)...

Flex256 01.08.2003 08:32

только не в реестре!!! там и так много умников пихающих очень нужные строки типа "Vasya-Soft Company"

Alex Dark 01.08.2003 09:45

AMiR, на каком языке хочешь писать?
Если типа паскаль или Си, То все зависит от твоего уровня программирования.
Самый простой вариант: приписывать базу к концу программы.

Просто "не большая БД" в любом случае будет больше твоей проги

;) Или вот еще предложение Пиши на Access. И база и программа - все в одном флаконе

alexey_ma 01.08.2003 10:00

Access - это полная пурга.
А вообще- задача достаточно сложная. Самого себя переписать или стереть это трудно. Ради того чтобы такие данные хранить не стоит время тратить, придумай что нибудь другое.

Alex Dark 02.08.2003 16:34

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

Фантазируйте - иногда помогает ... :)

Pirog 04.08.2003 06:40

А чем вам перл не устраивает для этой задачи ?
все давольно быстро и не мутурно путь хранит все в txt и не париться !

alexey_ma 04.08.2003 09:46

Вопрос был как сохранить данные в самой программе ( как я понимаю, в самом екзешнике). На перле такого не напишешь. А "C" не хуже перла работает с текстовыми файлами и умеет еще много чего , что перл делать не умеет.

qwe123 04.08.2003 11:12

Цитата:

alexey_ma:
"C" не хуже перла работает с текстовыми файлами и умеет еще много чего , что перл делать не умеет.
Кхм кхм :)
Эт я по поводу работы с текстовыми файлами.
C безусловно мощный язык, но у него несколько иные задачи, чем обработка
текста\регэкспов.На нём это можно сделать, но гемору в разы больше чем на перле - языке , специально под это заточенном...
А по поводу хранилища - imho лучше ini - т.к. xml ради ЭТОГО прикручивать -
оверкилл...

SwiMMeR 19.08.2003 04:23

В визуальном фоксе по-моему можа сохранить таблицу в прогу, тока править ее точно низя.

Melkor 19.08.2003 22:34

Alex Dark
если для С, то ведь прийдется перекомпилировать программу каждый раз когда меняется инфа? или как?

Alex Dark 20.08.2003 14:17

Melkor зачем компилить?

просто прога сама к себе (в конец) приписывает всякий раз свою базу.
Для этого она естественно должна знать где кончается.

А вообще то лично я бы сделал самовыгружающуюся базюлинуна дискетку
см. выше

BigFoot 22.08.2003 13:34

AMiR
Дописывать базу в ехе imho бред.
Плюсы:
1) Будет всего лишь один файл
... типа все...
Минусы
1) Любая информация может быть дописана в конец файла, но текстовые данные будут раздувать, раздувать+1...раздувать+n несчастный exe.
2) В зависимости от версии проги (после каждой или почти после каждой перекомпиляции) может меняться длина файла и дозаписываемую базу нужно будет начинать писать с различным смещением.
3) Придется ваять Импорт-Экспорт дабы не терять данные в книжке при перекомпиляции или изменении версии.
Могу продолжить, если нужно...
В общем тебе решать, но я бы не стал. Гораздо проще хранить все это в простом ini или xml, которые для пущей секретности можно xor'ить или шифровать, если нужно.

ol_2005 07.10.2004 14:39

Прицепить любую инфу к EXE можно с помощью проги MoleBox Pro но динамически менять ее будет нельзя.

Merlin Cori 07.10.2004 16:37

ol_2005
ты хоть дату последнего сообщения смотрел?


Часовой пояс GMT +4, время: 13:52.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.