OOFILE | Downloads | Purchasing | Press | Services | Company Information | Soapbox | References | F.A.Q. | HOME 


OOFILE C++Report Writer

The OOFILE report-writer is a cross-platform, open-source report-writer for c++ with Mac and Windows preview and printing, XML, RTF, HTML and plain text output on these plus Unix systems.

Reporting in OOFILE vs ODBC and Crystal-like engines

The way OOFILE works is that a common dbView class, which specifies main
table and fields, is passed into a list onscreen, the graphing engine or a report band.

We took this approach, rather than giving the report-writer a direct ODBC data input, to make it vastly easier to develop whole applications.

Having 150 report template files to manage is a nightmare. With OOFILE you can easily build up families of reports in application code, change global headers and footers in one default setting but override where needed. Thus, the first version of the report writer was designed to satisfy a client migrating from the most popular Windows report-writer but who wanted high productivity producing reports in code.

It's a couple of lines of code to have the data which is shown in a list box printing.

void CBrowseContacts::DoPrint ()
oofRep* adoptedReport = new oofRep(mContactsHelper->view());
oofRepWindow::CreateWindow(this, adoptedReport);

The ability to save and reload an entire report definition in an XML file allows you to save "documents" across platforms, not requiring users to have a specific word processor installed. This XML facility is being extended in the professional edition of the report writer to give more freedom to describe reports in XML.

The report preview screen works like a spreadsheet - clicking on areas allows you to edit "cells" in a dialog which it is simple to override, giving your own look and feel to the editing process. Reports are automatically reflowed when you close the editor.

Online reference manual

Download sample report program with source code

More information and snapshots of reports.

Samples of saved output.







ScreenShot of ReportWriter Preview showing a field being edited.

Note that you can easily drop in your own dialog for editing, this is just the default dialog. You can also disable editing globally or on individual reports and report items.