- Harbour Project (to build an open-source clone of FlagShip)
- xHarbour Project
- CLIP (Clipper-compatible compiler)
- AnubisNET "dbf" (C-based parser)
- CDBFile (C++-based database-handling routines)
- XBase DBMS (aka xdb)
- FlagShip compiler (like Clipper)
- CodeBase 6
- Others. See: http://cbbrowne.com/info/xbase.html
Harbour is a free software compiler for the xBase superset language often referred to as Clipper (the language that is implemented by the compiler CA-Clipper).
Harbour is a cross platform compiler and is known to compile and run on MS-DOS, MS-Windows, OS/2 and GNU/Linux.
The main advantage Harbour has over other Clipper compilers is that it is free software. Harbour also attempts to remove some of the limits imposed by the base implementation but the extent of this will depend on your chosen platform.
Most importantly, try Harbour for yourself, decide for yourself why it has advantages for you.
xHarbour: Open Source Extended Clipper Language
Harbour (extended Harbour) was started by Ron Pinkas late 2001 as a fork off of the Harbour Project in which he was one of the leading developers. xHarbour was established to provide a more aggressive alternative to the conservative style of development in the Harbour Project.
The Harbour Project was launched in December 1999 by Antonio Linares. Naturally, the developers of the Harbour Project have contributed large amounts to xHarbour, since xHarbour originated from the Harbour code base. You can find a list of those developers at SourceForge. The Harbour Project is still active, too - and some developers work on both projects.
In its short life, xHarbour already established itself as the favorite tool of the xbased programmer in general, and has attracted many loyal users.
Why two Projects?
Ron started the project with this sentence [source: sourceforge ]:
"As a result of some conflicts regarding current and future development direction, xHarbour will offer an alternative for those interested in a more aggressive & less conservative approach."
One major benefit of Open Source - it encourages the natural evolution process!
(CLIP, GNU GPL)
CLIP is a Clipper/XBase compatible compiler with initial support for
FoxPro, Flagship, and CAVO syntax. It supports Linux, FreeBSD, OpenBSD,
and Win32 (via Cygwin). It features support for international languages
and character sets, including two-bytes character sets like Chinese and
Japanese. It also features OOP, a multiplatform GUI based on
GTK/GTKextra, all SIX/Comix features (including hypertext indexing), SQL
and ODBC drivers, a C-API for third-party developers, a few wrappers for
popular libraries (such as BZIP, GZIP, GD, Crypto, and Fcgi), a
multitasking client and server based on TCP/IP sockets, and more.
From: Thomas Adam (firstname.lastname@example.org)
Subject: Re: [TAG] Linux For Foxpro
Date: Mon, 7 Apr 2003 20:40:56 +0100 (BST)
I might be off on a tangent with this one, so forgive me, but was it
Foxpro that uses the "dbase" file format? If that is the case, then one
can use the program "dbview" (which is a console-based program),
Maintainer: Martin Schulze (email@example.com)
Depends: Depends: libc6
Description: View dBase III files
Dbview is a little tool that will display dBase III and IV files. You can also use it to convert your old .dbf files for further use with Unix.
It wasn't the intention to write a freaking viewer and reinvent the wheel again. Instead dbview is intend to be used in conjunction with your favourite unix text utilities like cut, recode and more.
dbf is an easy-to-use command line tool to show and convert the content of dBASE III, IV, and 5.0 files. It reads dBASE databases and prints the content to the screen or converts it to comma-separated (*.csv) files which can be opened in Excel, StarOffice, and most other spread sheets. It can also be used to show some statistics about the content.
dbf is very easy to handle. The look-a-like orientates much on the command-line client of MySQL. Although the commands are quite different from the MySQL command-line tool (and the fact that dbf is missing an interactive command shell), every user could learn very fast how to convert the dBASE files to CSV, SQL instruction sets or printing the content to screen.
Support for common platforms and architectures
One of dbf's goals is the multi-platform-/multi-architecture support. Most dBASE applications are developed for Windows running on x86-architectures. With dbf you get support for dBASE also on UNIX, Linux, BSD, MacOS X and several other platforms. dbf is as portable as possible, so that it runs on Intel-based architectures (x86), PowerPC and Alpha/RISC architectures. Check out the system requirement pages and see on how many platforms dbf was ported to until today.
With dbf 0.7 a lot of performance improvements were done on this small tool. The export in one of the two export formats is done in a few seconds (depending on the size of your data sets) and that is also true for older, slower systems.
Only CSV? - not only...
CSV is a special file format, where all data-sets are separated by a comma or another user-defined sign. All common spread sheets, like Excel, OpenOffice (StarOffice) Calc, Softmaker Office and many more, support this format. It is very easy to import CSV-files to such spread sheets and to work on this imported data sets. With version 0.7, dbf supports also a way to define your own separator for the exported CSV file. dbf 0.7 orientates completely on the CSV standard.
... but also SQL
The newest versions of dbf also support SQL as export file format. As result you get a file with a complete set of SQL statements. All you have to do is to copy the lines (or importing the file) into an administrative client. And it is very easy: The filename of the SQL instruction set will be also the name of the database you want to import the data.
The future of dbf
anubisnet's aim for dbf's future will be to create a small command-line tool that will help you with your daily work: fast, reliable and completely user-oriented.
... and the best of all: It's free! anubisnet is licensing dbf under the LGPL.
Description on Freshmeat.net:
About: dbf is an easy-to-use command line tool to show and convert the content of dBASE III, IV, and 5.0 files, as well as of FoxBase and Visual FoxPro. It reads xBASE-compatible databases and prints the content to the screen or converts it to comma-separated (*.csv) files which can be opened in Excel, StarOffice, and most other spread sheets. It can also be used to show some statistics about the content.
[Project appears to have recurring hosting problems: You might need to browse an archived copy of the pages via the Internet Archive.]
X2c Portable Xbase Compiler (by Richard L. Roth)
X2c is an Xbase compiler that creates executable programs from Xbase source programs on any UNIX or C platform. This is accomplished by creating a C program from the Xbase application, compiling it, and linking with function libraries. While the C source is considered an intermediate stage for X2c, it can be used and developed as any C source.
X2c provides all the components needed to successful compile an Xbase program in a UNIX (or other C) platform:
- Xbase language compiler that produces a C program from an Xbase program.
- C functions that support the language statements and functions of the Xbase language.
- C functions that support the handling and operations of Xbase memory variables, arrays and fields.
- The experience and knowledge gained from 6 years of Xbase porting to a wide variety of platforms.
The X2c dialect of Xbase accepts virtually all statements of:
- Borland (was Ashton-Tate) dBASE III PLUS
- Computer Associates (was Nantucket) Clipper (Summer '87)
- MicroSoft (was Fox Software) FoxBASE (2.1)
- Plus Selected Foxpro Statements
Like Clipper, X2c is a compiler. Since X2c does not support the 'dot prompt' mode, an interactive development utility is provided. X2c adds unique statements of its own, allowing more flexible programming and integration within a C envi ronment. For example, in-line C code can be placed within Xbase statements by using the 'option csource' statement.
Full compatabliity via the ANY-type variable, C programmer not needed:
X2c provides full compatibility by providing an ANY type data object with a complete library of support routines. This allows X2c to create C code that supports all the special variable characteristics of Xbase code, including PRIVATE and PARAMETER pass-down, TYPE()='U', and full expression macros. The flexibility of an ANY type variable removes the manual effort required to create a C program.
The improved efficiency of C variables (available but not required):
- Untyped or "Any-type" - Xbase
- User Declared fixed type - C
- Type recognition - Only X2c
X2c supports both Xbase untyped-data and C fixed-type data variables. Fixed-type C variables provide improved efficiency.
X2c can handle all variables according to Xbase untyped-data rules. Plus, X2c provides a full Xbase dialect using fixed-type data with all Xbase statements, where the programmer can declare variables of specific types.
Enabling the unique X2c "fixed-type auto recognition" logic allows an existing Xbase application to be brought in line with C fixed-type data requirements. This gives 100% conversion while still operating properly in its original dialect.
The X2c system environment:
Data Screens: A data screen handler is provided which calls the appropriate driver for the target platform. On most UNIX systems, the Curses screen support package is used with either terminfo or termcap. X2c has its own function key processing logic to allow mapping of function keys to map the expected DOS keyboard. Alternate function keys can be defined for terminals without standard function keys. The screen output logic is layered, allowing tailoring for special sys tem needs. For example, windows support was added by selecting to which active window the regular screen output is sent.
Data and Index Files: The database management system, dBf/a, has been ported to each supported platform and serves as the standard file manager in that environment, providing standard DBF files/DBT memo files. Index files op erate as needed by the Xbase language. Standard X2c index files use a format unique to X2c. Alternate index handlers can use dBASE, Clipper, or FoxBASE index files directly. Support for other file management systems can be provided using the optional "tie-in" interface package. Via a "tie-in", compatibility with dBASE, FoxBASE & Clipper indexes was added. The POSIX or SQL support can be added by a 'tie-in' combined with in-line C code.
Support for standard C compilers:
X2c supports standard compilers for each platform. For ease of use, X2c transparently calls the C compiler for you. The resulting application replicates the look, feel, and func tioning of your Xbase original program.
Portability of applications:
Once an application has been processed by X2c in any environ ment, the intermediate C source code can be compiled on other platform supported by X2c. After development is completed on the originating system, the resultant C source code is moved to the tar get platform via communications link or disk.
The platform's standard C compiler is used to compile and link the object code produced with the library of run-time functions. The re sulting executable replicates the functions of your DOS Xbase ap plication.
As you might expect, the hardware limitations of the target environ ment apply: e.g. No color on Monchrome hardware.
X2c is the only Xbase system to provide access to all system internals. The functions are provided as a set of C source files, divided into four libraries: screens & strings, databases & indexes, memos (long strings), and expression evaluators.
Automatic creation of all components of a C program:
Through the use of a built-in program scanner, X2c will build a "make" or "project" environment for the full system, creating com pile and link control files, the C main() function, and all required C data and function headers. This is structured so the developer can use it as is, simply add extra C functions, or totally customize the system. The scanner is driven by a template language that allows expansion and revision by an advanced user.
X2c history: A system with extensive field experience:
X2c is built on the Xbase language system reflecting 9 years of field experience and over 3000 installed copies. The technology used makes X2c the only language system capable of successfully providing complete Xbase applications running on all size ma chines -- from IBM PC/compatibles, Macs, OS/2 and Windows; through UNIX machines of all types; and through and including IBM mainframes (running MVS/TSO).
Addition without subtraction:
The step up from the Desktop Ai 'dBx/dBxPORT' system to X2c adds functionality not available in the less sophisticated system without omitting anything. The majority of these additions have been the direct result of customer feedback and exhaustive testing of hundreds of thousands of lines of live Xbase applications. The effect is to reduce the vast effort of creating a C business application to a simple re-compile.
Native UNIX product:
X2c is provided as a native UNIX, Linux, VMS, DOS or OS2 product. Many UNIX users use the GNU GCC compiler with X2c, and X2c includes a tailored GDB (debugger) to allow handling extremely large programs. This allows direct re-compiling of large Clipper systems without overlay concerns.
All function sources available:
The X2c development system is available with all sources to the primitive functions used by an Xbase program. Most of these are fully portable. For system-specific functions, different versions are included for a wide variety of UNIX and other systems.
[The code was originally proprietary "shareware" with source availability; it was re-released under the Apache 1.0 licence as of Oct 5, 2001.]
Description on Freshmeat.net:
About: X2c is an Xbase compiler that creates executable programs from Xbase source on any Unix or C platform. This is accomplished by creating C source from the Xbase source, compiling, and linking with included Xbase function libraries. Whilst the C source is considered an intermediate stage for X2c, it can be used and developed as any other C source. The X2c dialect of Xbase accepts virtually all statements from Borland (was Ashton-Tate), dBASE III PLUS, Computer Associates (was Nantucket), Clipper (Summer '87), and Microsoft (was Fox Software) FoxBASE (2.1). Selected Foxpro statements are also supported.
Download site says: CDBFILE 1.0 C toolbox for manipulating dBASE III ".DBF" files. It provides programmers with a structured object-oriented interface to DBF files. Licensed under the GNU public license.
Chris Browne's description: C++ OO package for manipulating dBase III files.
CDBFile is a C++ object-oriented package for programmers who need to manipulate dBASE III files in their programs. It enables you to perform many operations on an existing DBF file: reading/writing to it, accessing its values, sorting the records, adding/deleting records, etc. It comes with full text and postscript documentation, and commented source code.
A demonstration program, TestDBF, shows the various possibilities of the CDBFile library, and its source file, testdbf.cpp, demonstrates how to implement CDBFile within a program.
Xbase is a collection of specifications, programs, utilities and a C++ class library for manipulating Xbase type datafiles and indices.
What we have here is not only a C++ class library compatible with older .dbf, .ndx and .ntx files, and various utilities, but a viable database development environment for future projects requiring a lightweight database engine.
We define XBase here to mean any dBase, Clipper, FoxPro, etc. compatible database (including index and memo files). Currently, XBase supports DBF (dBase and other) database files, NDX (dbase) and NTX (Clipper) index files, and DBT (dBase and other) memo field files. xBase (with a lowercase 'x') means the xBase library. We hope to add support for other XBase file formats in the future.
We intend to provide complete backwards compatibility with the original xBase library.
xBase <--> MySQL
This program takes an xBase file and sends queries to an MySQL server to insert it into an MySQL table and vice versa.
Subject: Re: [TAG] Linux For Foxpro
From: Frank Rodolf (firstname.lastname@example.org)
X-Mailer: Ximian Evolution 1.2.3
Date: 07 Apr 2003 23:55:08 +0200
Another interesting package in that same "genre" is dbf2mysql - official
available in various distributions, including Debian.
It takes a .dbf file and sends the queries to a MySQL server needed to
insert it into a MySQL table.
The Recital 9 product family is a platform, user interface and data source independent solution that defines and delivers tools and technologies for building character based, client/server and internet-based database solutions.The Recital 9 product family is comprised of three integrated products that work against a common database engine.
Recital 9 Terminal Developer
Recital 9 Terminal Developer is the only cross-platform ANSI SQL compliant database and 4GL for Linux, Unix, and OpenVMS that has 100% language and database compatibility with FoxPro 2.6 and SCO FoxBASE. According to Oracle, statistics show that migrating your applications to run against a new database can amount to 50% of your overall migration project, and that does not include recoding of the application logic! That's why Recital 9 Terminal Developer is the premier cross-platform tool for running, enhancing, and supporting your legacy FoxPro 2.6 and SCO FoxBASE applications on Linux, Unix or OpenVMS without the need to rewrite the application, or retrain your developers and end-users.
Recital 9 Visual Developer
Recital 9 Visual Developer is the only product for Windows, Linux, Unix, and OpenVMS that migrates FoxPro 2.6 and SCO FoxBASE applications to the internet and transforms them into GUI client/server applications without having to rewrite the code. Legacy FoxPro 2.6 and SCO FoxBASE applications can be enhanced with full Windows .NET Forms functionality. Recital 9 Visual Developer extends the life of your existing applications, providing you with a greater return on investment, without the need to rewrite the application, or retrain your developers and end-users.
Recital 9 Database Server
The Recital 9 Database Server is the only cross-platform ANSI compliant SQL database server for Windows, Linux, Unix, and OpenVMS that has native support for Visual FoxPro 8.0 SQL and allows stored procedures, triggers, and user-defined functions to be written in a Visual FoxPro 8.0 compatible 4GL. The Recital 9 Database Server includes a Universal ODBC driver, a Universal JDBC driver, and a Universal .NET Data Provider. The Recital 9 Database Server has support for accessing disparate data on Linux, Unix, OpenVMS and Windows servers across the internet. Also includes support for server-side ODBC drivers, JDBC drivers and ADO drivers. If you know Visual FoxPro then you can be productive immediately with The Recital 9 Database Server.
A much earlier reference to Recital's then-extant product line:
From rick Sun Nov 17 20:43:29 2002
Date: Sun, 17 Nov 2002 20:43:29 -0800
Subject: Re: [TAG] Need help
Something called "Recital Linux Developer" runs FoxPro 2.6 applications unchanged on Linux: http://www.recital.com/solutions_foxpro.htm
Additionally, this question did sort of come up once before, a few years back, when Answer Gang founder Jim Dennis was The Answer Guy, all by his lonesome: http://linuxgazette.net/issue30/tag_database.html
Some of that will no doubt still be relevant.
- is a Database Development and Porting system for moving xBase based languages to UNIX. It's EASY to use. See also general FAQs.
- is a highly optimized 4GL language, syntactically compatible to other XBase dialects, like dBase, Clipper, Fox etc.
- is object oriented, but you don't need any OOP knowledge.
- supports the same code for DOS (Clipper), Unix/Linux and MS-Windows.
- allows you to add C sources externally or inline into the prg source; but does not require any C knowledge.
- produces native executables free of any run-time fees.
Others promise ... we guarantee it. Try it for yourself by downloading the free test drive for your preferred operating system from ftp Server or via Web. Once satisfied, simply order the full release.
CodeBase for Linux is a high-speed database engine for Linux developers. Build standalone applications in single or multi-user configurations or take advantage of the client/server support and create database solutions accessible over a network or the internet.
CodeBase contains enterprise-level features including transaction processing, logging, backup, and intelligent high-speed queries allowing developers to create robust full-featured applications.
Cross-platform Compatibility: API and data files can be used on multiple platforms
xBASE File Compatibility: Multi-user file compatible with FoxPro, dBase, and Clipper
Small Footprint: CodeBase's small footprint configuration is designed for database applications that require a combination of high performance and with low disk/memory overhead
Royalty-Free Distribution: Both client and server applications may be distributed without royalty payments.
Scalable: Applications using CodeBase can be deployed as single-user, multi-user or client/server without any code changes.
Source Code: Included
Enterprise Level Features: CodeBase includes transaction processing, security features, and logging capabilities.
Large File Support: Go beyond the xBASE file size limitations to create huge table, index, and memo files. *Note* Large file support must already be supported in your Linux distribution.
Description on Freshmeat.net:
About: CodeBase is a high-speed xBASE compatible database engine for C/C++, Visual Basic, Delphi & Java programmers. You can use CodeBase to write high performance database applications that are multi-user compatible with FoxPro, dBASE and Clipper, create anything from a Java applet to a full-blown Windows database application to a simple DOS utility, write scalable applications that can be deployed as single-user, multi-user or client/server, all without changing any of your source code, and port your applications to Windows, DOS, UNIX, OS/2, and Macintosh. There's a free 30-Day Test Drive option available. CodeBase is available for every major operating system including Windows XP, 2000, 9x, NT, CE, DOS, OS/2, Macintosh, and a variety of Linux and UNIX platforms including Solaris, SunOS, HP/UX, AIX, SCO, and others.
Also of possible interest is Erik Bachmann's detailed description / analysis of the XBase data format: http://www.clicketyclick.dk/databases/xbase/format/