Visual FlagShip (VFS release 7)
Visual FlagShip makes an GUI based application from your available textual Xbase (Clipper, FS4) code automatically. Of course, because object oriented, you can modify the behavior by your self too. The same application support GUI, textual and stream mode. It is either detected automatically from the current environment (heterogenal application), or specified at compile time or at run-time using command-line switch.
All standard classes from Clipper ('87 to 5.3) and previous FlagShip versions are supported also in GUI mode. VFS provides a large collection of additional functions and classes. See detailed VFS7 specs here, a free test/eval version is available too.
To give you some feeling, here few typical examples
with the code and corresponding screenshots.
The usual @..SAY/GET full screen input and output is supported by the common way. From this code...
USE address ALIAS adr SHARED NEW SET COLOR TO "W+/B,GR+/R,W/B,W/B,GR+/BG" 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 "@!" @ 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 READ
creates FlagShip an executable usable either in GUI, or Textual/Terminal, or Basic (e.g. in Web/CGI) environment. You may specify the i/o mode by a compiler or run-time switch; otherwise a hybrid application is created, and the used i/o mode determined automatically from the environment at the time of program execution.
Also, all common GUI widgets (controls) like Listbox, Combobox, Push buttons, Checkbox, Radio buttons and groups, Tbrowse, Info and Message boxes, Menu and so on are available as well, see example below in the Debugger screenshot. You may either use directly the corresponding class or the convenient @..GET.. / READ syntax.
these few source code lines
USE address SHARED NEW * index if required, see full source SET INDEX TO addr_comp, addr_id oBr := TbrowseDb(3,0, 20, 72) for ii := 1 to Fcount() oBr:AddColumn( TbColumnNew(FieldName(ii), FieldBlock(FieldName(ii)) )) next oBr:Trim := .T. // optional, trim displayed data of type 'C' oBr:Exec() // use default keyboard handler (source avail.) // - or insert here your own handler
will create either GUI or terminal based executable:
even the CA/Clipper tool DBU will run either in GUI: or in textual mode:
4. Drawing and printing
With simple @..DRAW commands, you may show images or draw lines, circles, polygons etc.
Click on the image to enlarge. The output left is created by
@ 8,15 DRAW ARC RADIUS 7 ANGLE 0,90 GUICOLOR "R+" PRINTCOLOR "R+" LINEW 4 @ 8,15 DRAW ARC RADIUS 7 ANGLE 90,180 GUICOLOR "G+" PRINTCOLOR "G+" LINEW 4 ... @ 8,48 DRAW CIRCLE RADIUS 7 GUICOLOR "R+/G+" LINEWIDT 2 ... @ 18,15 DRAW PIE RADIUS 7 ANGLE 55, 80 GUICOLOR "G+/G+" LINEW 2 @ 18,15 DRAW PIE RADIUS 7 ANGLE 135,100 GUICOLOR "RG/#FEDA1E" LINEW 2 ... @ 24,45, 28,67 DRAW RECTANGLE ROUND 70 LINEW 2 GUICOLOR "N/W+" @ 12.5,9.3, 13.6,13 DRAW IMAGE FILE ("anim1.bmp") SCALE UNIT=CM ...
and with the simple command sequence
SET GUIPRINTER ON // start redirection ... SET GUIPRINTER OFF // stop redirection PrintGui() // print
you may re-direct the same output to any available printer (also USB or network based) selected by common dialog box.
Fully featured source-code debugger is included. FlagShip debugger allows you watch source, set any number of breakpoints, examine and set variables and databases, or lets you execute any command, function or expression (more..). Simply compile with the -d flag and you get: (click the picture to get full-size image)
See also Benchmark comparison and additional screenshots in Wikipedia
| FlagShip Home Page | What's New | Info | Press | Demos | Order | Tools | Support | Email |
Trademarks: multisoft and the multisoft logo are registered trademarks of multisoft Datentechnik, Munich, Germany. FlagShip is a trademark of multisoft Datentechnik, Munich, Germany. Other products named here may be trademarks of their respective manufacturers.