LB Booster
General >> Showcase >> Cheetah Database System http://lbb.conforums.com/index.cgi?board=showcase&action=display&num=1466148795 Cheetah Database System
Post by Jack Kelly on Jun 17th, 2016, 07:33am
If you like database programming you'll like Cheetah. It allows you to access disk data entirely under your own program control, using the old industry standard .dbf format. It's a large file <cheetah2.dll> that is accessed via a smaller file <LBcheetah2.dll> called a "wrapper", which is unique to the programming language dialect -- in our case, Liberty Basic. Cheetah was written by Paul Squires and the LB wrapper by Walt Decker. Both have been released to the public domain.
The zip file contains (a) the two .dll files mentioned, (b) a .chm help file, (c) four LB*.bas files that document and demo the dll calls, and (d) a program I wrote <DBMS.bas>. In DBMS.bas I have put many of the Cheetah calls into 20 function definitions and 27 subroutines, which take care of the dll calls, string null terminators, and error checking. DBMS.bas is not designed to be a Cheetah tutorial. It is actually a somewhat complete database manager.
Cheetah2.dll does not provide the ability to make changes to a dbf file structure. This can be done using a full database manager, if necessary. The best one I have found so far is <DBF Viewer 2000>. Nor does Cheeetah2 support relational links between dbf files. This must be hand coded. There is a Cheetah4.dll but no Liberty Basic dll wrapper for it, to my knowledge. Re: Cheetah Database System
Post by joker on Jun 17th, 2016, 08:02am
I looked at Cheetah a year or so ago, and I haven't found a reasonable substitute yet.
"Roll your own" flat file databases are no fun to build and without the relational functions are severely limited.
Therefore, I'm still using Filemaker even for simple relational databases. Perhaps your work will bring me over to the dark side!
Quote:
Note: Cheetah is no longer being developed. Check the CVS for the most recent version or use the most recent stable package release.
There is a Cheetah4.dll but no Liberty Basic dll wrapper for it, to my knowledge.
It is of course entirely likely that LBB won't need a wrapper DLL. Indeed Cheetah4.dll is described as being "a 100% pure standard Windows DLL" so it's probable that LB doesn't need a wrapper either.
There may be some value in creating wrapper functions in BASIC (just as it sometimes is for regular Windows API functions) but that doesn't need a DLL.
Generally I don't approve of wrapper DLLs. They are rarely if ever needed (by LBB anyway) and they introduce another layer of code, which is often unsupported.