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 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 designed mainly for professional software developers.
Visual FlagShip makes a GUI-based application from textual xBase code which can then be modified using object-oriented programming or procedural programming.[1] 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
are compiled by:
>FlagShip address.prg -o address
which creates an executable (i.e. address.exe in Windows)