FlagShip is both an object oriented and procedural programming language, based on the xBase language dialect and conventions. FlagShip is available for and is cross-compatible to different computer platforms, such as Linux, Unix and Microsoft Windows. As a true compiler, it translates the very popular database 4GL xBase source code to native 32-bit or 64-bit executables, using the same source-code and databases.
The first FlagShip version was introduced by multisoft Datentechnik GmbH in 1992 to port Clipper, dBASE III+, FoxBase and FoxPro applications to different operating systems, i.e. OpenServer, AIX, Solaris, HP-UX, SINIX and many other Unix systems. In 1995 also Linux ports became available. In 2002, Visual FlagShip (abbreviated as VFS) was announced for Linux, and in 2004 additionally for 32/64-bit based Windows operating systems. The current VFS product line covers all common 32-bit and 64-bit operating systems (Windows NT, 2000, XP, Vista, 7, Server 2008).
FlagShip is a programming and development tool. As with other compilers, it is designed mainly for professional software developers. But because of its simple interface, it is also perfectly suitable for semi-professionals and advanced computer users, who need to create database applications with minimal programming effort. Thanks to its full Clipper compatibility, it is also best suited for porting already available DOS applications to nearly any Unix, Linux or MS-Windows systems.
There is no learning curve if you are already familiar with any xBase dialect, like dBase, FoxBase, FoxPro, Clipper, Visual Objects etc. There are millions of well-trained programmers who have been using this easy but powerful 4GL syntax for years. All of them can directly switch to FlagShip. If you don't have any programming experience with xBase, but are familiar with any other language (C, C++, Java, Pascal, Delphi, Basic, Perl etc.), the learning curve is very short. With about 10 commands, you will be able to create your first application.
Visual FlagShip makes a GUI-based application from your available textual xBase code automatically. Of course, because object oriented, you can modify the behavior by yourself too, using either classes or corresponding functions in procedural programming. The same source and the same application supports GUI, textual and stream mode (e.g. for Web or background). The i/o mode is either detected automatically from the current environment (heterogenal application), or can be specified at compile time or at run-time using command-line switch.
For example, these few statements, stored in text file address.prg
USE address ALIAS adr SHARED NEW SET COLOR TO "W+/B,GR+/R,W/B,W/B,GR+/BG" SET GUICOLOR OFF
cls @ 1, 0 SAY "Id No. " GET adr->IdNum PICT "999999" VALID IdNum > 0 @ 3, 0 SAY "Company" GET adr->Company @ 3,35 SAY "Branch" GET adr->Branch WHEN !empty(adr->Company) @ 4, 0 SAY "Name " GET adr->Name VALID !empty(adr->Name) @ 4,35 SAY "First " GET adr->First @ 6, 0 SAY "Country" GET adr->Country PICTURE "!" + repli("x",24) @ 8, 0 SAY "Zip " GET adr->Zip PICT "@!" VALID !empty(adr->Zip) @ 9, 0 SAY "City " GET adr->City @ 10, 0 SAY "Street " GET adr->Street @ 6,35,11.4,47 GET adr->Type RADIOGROUP {"Male","Female","Company","None"} @ 7,50 GET adr->Interest CHECKBOX CAPTION "Interested party" @ 8,50 GET adr->Customer CHECKBOX CAPTION "Customer" @ 9,50 GET adr->Reseller CHECKBOX CAPTION "Reseller" @ 10,50 GET adr->Distrib CHECKBOX CAPTION "Distributor" READ
... and compiled by simply
>FlagShip address.prg -o address
... creates self-containing executable (i.e. address.exe in Windows)
Additional examples and screenshots are available via the #External links below.