News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

TDB 0.1.x - a Tree Data Base

Started by kennie, August 07, 2009, 08:17:57 PM

Previous topic - Next topic

kennie

This is an early version of TDB, a Tree-Data-Base for assembler programmers. It can store and retrieve little portions of data in a tree-structure which can be saved to disk.

TDB is a universal tool near to the application, it's NOT designed as a replacement for well-known 'big' databases. Limitations: up to a few databases, up to a few thousand items in each DB, up to a few hundred kilobytes of data in each DB.
I mainly wrote TDB for my own use and put it to public to show the idea. The helpfile explains a little how TDB works internally, but please note that it's not a scientific work and I'm not a professional programmer. There might be better strategies, algorithms and code than the ones presented in this package.

TDB is easy to use. After loading/creating a DB with the _load_db function, data can be set/get by using a single function. The item's position is specified by a 'path' similar to a path in a filesystem. f.e. the tdb-path 'ex1\win\rect' means that the DB with the rootname 'ex1' has a subdirectory 'win' which contains an item 'rect' where the data is attached. Setting data to an existing path will automatically overwrite the existing data's, while setting data to a non-existant path will automatically creates the path and attaches the data.
Tdb files can also be created, edited and tested by the editor.

The advantage of TDB is that it's easy to use, needs only little programming time and the sourcecode is available.
The disadvantage of TDB is that the current reliability is unknown (not tested over a longer period) and that there is currently no modular visualisation (TDB is not directly connectible to a treeview control).

Credits: Hexeditor ShineInHex.dll was written by ramguru

The future of TDB: Maybe little improvements, bugfixes if needed, but NO .dll. Instead I'm working on SDB (SimpleDataBase), similar to TDB but with a 2D table/field structure. (btw: saw today a nice table-visualisation in 'GridControl' in the '..Controls' Forum...)

TDB Screeshots

The links below are always pointing to the latest version. Use TDB Page to see the version history.

tdb.zip  (487 kB) Editor, runtime module and examples with all sources, except the help sources.

tdb_help.zip  (116 kB) Help sources for tdb_help.chm. Only useful for examining or changing the helpfile. MS HtmlHelp 4.74 (HtmlHelp 1) is needed for compiling.

ecube

I can't find a dll in the download, can you help me plz  :(

kennie

Quote from: E^cube on August 07, 2009, 08:36:50 PM
I can't find a dll in the download, can you help me plz  :(

Sorry, there is no dll.
Maybe you find it strange, but tdb_run.inc contains unassembled Data and Code needed for the functions. Added to the main .asm by 'include tdb_run.inc' it will be a part of the main module. To avoid name redefinitions, the 'tdb_' prefix is used in the .inc file.
I decided to do it this way, because I find it easier for developing, testing and debugging, and because it's version 0.1

Do you think it's not useful (or not usual, or not liked) when it's not in the form of a DLL ?