![]() |
Как хранить небольщую БД в самой программе?
Хочу сделать программу в которой хранить адреса знакомых. Поэтому как-то надо сохранять адреса в программе и потом искать по фамилии, например.
|
На каком языке ты хочеш это сделать ?
|
Хлопотно это - сохранять данные в программе... Гиммора много... Намного проще все хранить в отдельном файлике, формат его можешь сам придумать, зашифровать его можно и т.д. А сколько у тебя знакомых - много или нет... Может сейчас немного, но ты знакомишься - круг людей растет, базка ширится и все... гигабайты винчестера уходят в прекрасное далеко :)))...
|
Для Delphi и VC есть стандартные ф-ии работы с INI файлами, а также можно воспользоваться компонентом или библиотекой для работы с XML. Впрочем никто не мешает и с базами данных вроде MySQL, MSSQL и т.д. работать, если есть желание разбираться с их API.
|
Можно хранить данные в файле, базе внешней или например реестре.
А мона придумать свой формат и приписывать в конце к exe файлу (программе)... |
только не в реестре!!! там и так много умников пихающих очень нужные строки типа "Vasya-Soft Company"
|
AMiR, на каком языке хочешь писать?
Если типа паскаль или Си, То все зависит от твоего уровня программирования. Самый простой вариант: приписывать базу к концу программы. Просто "не большая БД" в любом случае будет больше твоей проги ;) Или вот еще предложение Пиши на Access. И база и программа - все в одном флаконе |
Access - это полная пурга.
А вообще- задача достаточно сложная. Самого себя переписать или стереть это трудно. Ради того чтобы такие данные хранить не стоит время тратить, придумай что нибудь другое. |
Про пургу в accesse согласен, это я так ...
А вообще то писать можно на чем угодно, если проблемма в быстром переносе информации вместе с прогой, то достаточно сделать в проге пункт "выгрузка на дискетку" и прога сама выгружает данные (если необходимо то и пакует), а до кучи кидает и себя туда же А на новом месте восстанавливает все что ей необходимо для работы сама. Фантазируйте - иногда помогает ... :) |
А чем вам перл не устраивает для этой задачи ?
все давольно быстро и не мутурно путь хранит все в txt и не париться ! |
Вопрос был как сохранить данные в самой программе ( как я понимаю, в самом екзешнике). На перле такого не напишешь. А "C" не хуже перла работает с текстовыми файлами и умеет еще много чего , что перл делать не умеет.
|
Цитата:
Эт я по поводу работы с текстовыми файлами. C безусловно мощный язык, но у него несколько иные задачи, чем обработка текста\регэкспов.На нём это можно сделать, но гемору в разы больше чем на перле - языке , специально под это заточенном... А по поводу хранилища - imho лучше ini - т.к. xml ради ЭТОГО прикручивать - оверкилл... |
В визуальном фоксе по-моему можа сохранить таблицу в прогу, тока править ее точно низя.
|
Alex Dark
если для С, то ведь прийдется перекомпилировать программу каждый раз когда меняется инфа? или как? |
Melkor зачем компилить?
просто прога сама к себе (в конец) приписывает всякий раз свою базу. Для этого она естественно должна знать где кончается. А вообще то лично я бы сделал самовыгружающуюся базюлинуна дискетку см. выше |
AMiR
Дописывать базу в ехе imho бред. Плюсы: 1) Будет всего лишь один файл ... типа все... Минусы 1) Любая информация может быть дописана в конец файла, но текстовые данные будут раздувать, раздувать+1...раздувать+n несчастный exe. 2) В зависимости от версии проги (после каждой или почти после каждой перекомпиляции) может меняться длина файла и дозаписываемую базу нужно будет начинать писать с различным смещением. 3) Придется ваять Импорт-Экспорт дабы не терять данные в книжке при перекомпиляции или изменении версии. Могу продолжить, если нужно... В общем тебе решать, но я бы не стал. Гораздо проще хранить все это в простом ini или xml, которые для пущей секретности можно xor'ить или шифровать, если нужно. |
Прицепить любую инфу к EXE можно с помощью проги MoleBox Pro но динамически менять ее будет нельзя.
|
ol_2005
ты хоть дату последнего сообщения смотрел? |
| Часовой пояс GMT +4, время: 13:52. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.