Visual FlagShip (VFS release 8)
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 VFS8 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.
1. Say/GetThe 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.
2. Tbrowsethese 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:
3. Dbu
even the CA/Clipper tool DBU will run either in GUI: or in textual mode:
4. Drawing and printingWith simple @..DRAW commands, you may show images or draw lines, circles, polygons etc.
5. DebuggerFully 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.