Faircom’s c-tree Plus™ is an incredibly powerful, cross-platform and scalable data file handler.

OOFILE adds report-writer, forms interface, graphing and the first c++ database API designed for usability as well as power.
“Safer Software Engineering through easier programming”

1) Simply declare database tables as classes.

class dbPeople : public dbTable {
OOFILE_MACROS(dbPeople)
dbChar LastName;
dbReal Salary;

dbPeople :
LastName(80, "Last Name", kIndexCompress),
Salary("Salary", kIndexed)
{};
};

// define the actual database
// one connection contains many tables
dbConnect_ctree theDb;
dbPeople People;

// open a database
theDB.openConnection("Test.db");

2) Simple access to fields, like dBase or any other 4GL:

People.LastName = "Dent";

3) Searching using C++ syntax (including automatic use of indices):

People.search(People.LastName == "Dent" ||
People.Salary >= 50000);

4) Set operations, using operator syntax or ODMG terms:

People += anotherPeopleCollection;

People.union_with(anotherPeopleCollection);

5) Relationships with referential integrity:

6) Sorting of selections (including automatic resorting after searches or other changes, but “intelligent laziness” only sorts when needed).

7) Wildcard searches, with wildcards you define:

People.search(People.LastName == "D*t");

8) Multi-level sorting, regardless of indices.

dbSorter AccountsOrder;
AccountsOrder << reverse(Accounts.LastSale) << Accounts.Company << Accounts.Branch;
People.setSortOrder(AccountsOrder);

9) Calculated fields including indexing the results of calculations, or just using attached calculators to create default values.

10) Keyword and phonetic searching.

11) XML export and import.

12) Multiple backends - mix dBase, RAM and c-tree databases in a single program.

13) Database views allowing a set of fields and records to be passed to a listbox, report, graph or exported to text.

14) Fast record creation for a bunch of fields in one hit:

People << "Andy" << "Dent" << "37";

15) Cross-platform directory iteration and file handling.

16) Cross-platform date and time classes for local variables as well as database fields.

FULLY CARBONISED AND TESTED ON MAC OS/X

Get started now with the Open Source version and upgrade to a Professional OOFILE to use with c-tree Plus later!

www.oofile.com.au