Итак суть в проекта в том, что если у вас нет поддержки со стороны штатных баз данных, а данные хочется хранить, да еще так чтобы не заморачиваться с доступом к файлам, то этот проект для вас.
ldb - простой модуль управления базой данных, хранящей данные в CSV-файле с форматом разметки MS Excel.
При этом один файл хранит одну таблицу из одного столбца. Это ограничение было унаследовано модулем после моего знакомства с ini-файлами. Поэтому такую базу удобнее всего применять для хранения различных настроек.
Формат файла следующий:
"параметр";"значение"
при этом значение может содержать любые символы, модуль маскирует управляющие символы:
символ | замена |
" | "" |
/ | // |
; | /; |
перевод каретки | /n |
Основными интерфейсами модуля являются следующие функции, которые вы и будете вызывать из своих программ при подключенном модуле ldb.
Функции:
- int ldbExistParam (base, param) Проверка на существование заданного параметра
- int ldbAddParam (base, param, data) Добавление строки в базу (файл), не рекомендуется (не обеспечивает уникальность записи)
- int ldbDelParam (base, param) Удаление заданного параметра
- string ldbGetParam (base, param) Чтение заданного параметра
- int ldbSetParam (base, param, data) Изменение/добавление заданного параметра (обеспечивает уникальность)
Входные параметры функций:
- base - путь к csv файлу (от корня сайта)
- param - параметр
- data - данные (не более 1024кБ)
Ограничение на размер данных чисто программное, т.к. мне не было необходимости использовать большее количество символов. Поэтому легкой правкой скрипта можно увеличить объем данных.
К своей радости могу сказать что оба модуля уже работают в 2-х проектах и показали свою стабильность.
Исходный код:
TurboDelphi http://dump.ru/file/3541902
PHP http://dump.ru/file/3541904
P.S.:/ К обоснованной критике и предложениям всегда открыт.
Комментариев нет:
Отправить комментарий