FlagShip
FlagShip es un compilador para Unix, Linux y MS-Windows que soporta completamente el código escrito en CA-Clipper (Summer'87 a 5.3), amplía la sintaxis de este lenguaje y ofrece las ventajas propias del código compilado en un entorno multitarea, multiusuario. Es un compilador nativo que compila completamente código Clipper al objetivo sistema operativo (32-bit o 64-bit). No hay pseudo-código como en Clipper, ni se trata de un intérprete, como otros sistemas xBase. FlagShip es un compilador nativo y, como tal, optimiza tanto la velocidad como el tamaño del código generado.
Programación
[editar]FlagShip es un instrumento de desarrollo y programación. Como con otros compiladores, es diseñado principalmente para diseñadores de software profesionales. Pero debido a su interfaz simple, es también absolutamente conveniente para semiprofesionales y usuarios de ordenador avanzados, que tienen que crear aplicaciones de base de datos con el esfuerzo de programación mínimo.
Visual FlagShip hace una aplicación basada GUI de su código de xBase textual disponible automáticamente. Por supuesto, porque objeto orientado, usted puede modificar el comportamiento por usted también, usando clases o funciones correspondientes en la programación procesal. La misma fuente y la misma aplicación apoyan GUI, textual y modo de corriente (p.ej para Web o fondo). El modo i/o es o descubierto automáticamente del ambiente corriente (heterogenal aplicación), o puede ser especificado en el tiempo de compilación o en el tiempo de ejecución usando el modificador de la línea de comandos.
Por ejemplo, estas pocas declaraciones, almacenadas en archivo de texto 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
... y compilado por simplemente
FlagShip address.prg -o address
... crea autocontener ejecutable (es decir address.exe en el Windows)