Пишем свой xBase

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Пишем свой xBase

Post by Shaos »

xBase - это обобщённое наименование языка клонов dBASE (dBASE III PLUS, dBASE IV, FoxBASE+, Clipper, FoxPro).
Готов взяться за написание собственного "public domain" клона... :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

реквестую поддержку BROWSE, func(), .cdx и sql

P.S. клиппер не нужен
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

BROWSE вроде можно на самом языке dBASE написать - не вопрос

Какие-то существующие индексы подтягивать - фиг знает, по-моему проще свой индекс изобрести т.к. переиндексировать DBF-файл не является особой проблемой и то как индексы сделаны в существующих xBase мне НЕ нравится - ошибся в USE или поредактировал DBF отдельно от программы и привет - индекс разбежался с файлом, потом обратной связи из индекса в файл нет (индексный файл не содержит никаких ссылок на файл данных).

P.S. Описание форматов файлов xBase: http://www.clicketyclick.dk/databases/xbase/format/

P.P.S. Что точно могу поддержать - PRG (файл с программой на языке dBASE), DBF (файл таблицы базы данных), DBT (файл с мемо-полями для DBF файла с тем же именем).

P.P.P.S. Свои собственные индексы можно спрятать в DBT (расширив таким образом формат DBT).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

BROWSE очень мощная штуковина, особенно если есть func(), ибо ограничение длинны строки.

индексы надо уметь готовить, я ведь не зря сказал про .cdx

ЕМНИП индекс .cdx открывается автоматом

алсо дочерние базы будут?
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Пишем свой xBase

Post by Lavr »

Shaos wrote:Готов взяться за написание собственного "public domain" клона... :roll:
С вот таким же результатом на выходе?
iLavr
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Пишем свой xBase

Post by Shaos »

Lavr wrote:
Shaos wrote:Готов взяться за написание собственного "public domain" клона... :roll:
С вот таким же результатом на выходе?
Всё будет, но не сразу :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот ещё такой старенький LGPL прожэкт есть на SourceForge:

http://sourceforge.net/projects/xdb/

Это C++ классы для манипулирования DBF/DBT+индексы и возможность интерпретации отдельных DBASE выражений (неполная поддержка функций DBASE III). Можно использовать как основу, правда результат придётся лицензировать под той же LGPL...

P.S. Эта либа (правда версии 2, а не 3) входит в состав дебиян-линукса и судя по хедерам, начала разрабатываться ещё в 1997 году

P.P.S. Чего-то сильно кучеряво написано, хоть и на старом C++ аля прошлый век - некрасиво, так что буду своё городить, красивое...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

Писать xBase для PC это как-то неспортивно. Вот для Z80 - это было было бы интересно: впихнуть невпихуемое.
Я так скажу: из классической dBaseII можно было бы структурно выкинуть половину, оптимизировать (Z80 же, + асм), добавить примитивнейший SQL (уровня как в FoxBase было) и что самое главное - сделать чтобы "это" можно было модульно загружать в другие приложения (по типу либ). Т.е. что-то типа бейсика, но вместо математики - работа с таблицами.
Тогда из такого можно было сделать CGI и к уже имеющемуся на Z80 WEB-серверу прикрутить еще и динамические запросы к БД.

Картинка: форум nedopc, хостящийся на Орионе. :)
Всем добра!
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

а DBASEII требует Z80? оно же вроде чисто CP/M-80?...

P.S. про DBASE на недопц я конечно же тоже думал :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Я с DBASEII работал только на MSX2 и с тех пор прошло более 20 лет...
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

Shaos wrote:а DBASEII требует Z80? оно же вроде чисто CP/M-80?...
Не, оно для 8080. И кстати, написано на ЯВУ.

Я же про то, что применяя Z80 можно оптимизировать, добавить чатот, и получить вполне себе СУБД (а не конторский калькулятор с а-ля-бейсиком)
Всем добра!