FlagShip
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.
Recent history
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).
Programming
FlagShip is a programming and development tool designed mainly for professional software developers.
Visual FlagShip makes a GUI-based application from textual xBase codem which can then be modified using object-oriented programming or 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.
Example
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)