eXpress++ 2.0 is an add-on library/DLL for Xbase++ that aids in the migration of Clipper applications to full-GUI or can be used to create new Xbase++ GUI applications quicker and easier.
a SGU (Structured GUI Language) style command syntax for creating complex GUI dialogs
and reports that produces the same functional program as one written fully object-oriented.
eXPress++ applications are easy to develop and maintain.
eXpress++ is a library of functions and a set of pre-processor include files that aids in the conversion of text-based Clipper application code to GUI-based Xbase++ application code and gives the Clipper programmer an easier migration path to Windows. eXPress++ also aids in the development of new Xbase++ applications by giving the programmer an easier method to develop complex GUI dialogues. Xbase programmers (Clipper, dBase, FoxPro) are accustomed to designing programs by using procedures and functions rather than classes and OOPS. The simplicity of eXPress++ commands and dialogue system lets any Clipper programmer create and maintain complicated dialogues by exploiting the power of Xbase Parts.
eXpress++ is NOT a "magic-wand". It does not automatically convert Clipper text-based applications to GUI-based applications. Most Windows programmers will tell you that you cannot take a standard Clipper application with @SAY..GETS, Menu Prompts, etc, and convert it to a Windows GUI program without a major change in the architecture and the functionality of the program. They claim that a text-based, modal design has too little in common with GUI-based, event-driven, non-modal design. They will tell you that it's like trying to fit a square peg into a round hole. In some Clipper applications the complexity of the archicture may make this more difficult, however, most Clipper programs are designed in such a manner that existing code can be "transformed" to run as Windows GUI applications with very little effort.
Xbase++ is designed differently than other Windows development languages. The object model and the event model supported by "Xbase Parts" allowed us to develop a system that works with a "Get-List", similar to Clipper and then pass the GetList array to either the text reader, DC_ReadModal() or the GUI reader, DC_ReadGui(). This abstraction of the functional design of a dialogue from the code implementation of the dialogue allows for architectures in which Clipper @SAY..GETS and menus can be easily migrated to GUI.
Once you have converted your existing @SAY..GETS, then you can embellish your dialogue system with toolbars, bitmaps, radiobuttons, checkboxes, spinbuttons, browses, etc. using the same simple command syntax.
eXpress++ also provides a report printing syntax that converts existing @SAY "printer" commands, ?/?? printer commands, and REPORT FORM (.FRM) printing into object-oriented methods that use the Xbase parts Printer class. This allows for existing reports to be routed to any Windows printer device (and previewed) rather than just LPT1.
Screenshot #1 (HyCARE)
Screenshot #2 (HyCARE)
Screenshot #3 (HyCARE)
Screenshot #4 (HyCARE)
Screenshot #5 (HyCARE)
Screenshot #1 (Medallion NYC Taxi)
Screenshot #2 (Medallion NYC Taxi)
Screenshot #3 (Medallion NYC Taxi)
Screenshot #4 (Medallion NYC Taxi)
Screenshot #5 (Medallion NYC Taxi)
Screenshot #6 (Medallion NYC Taxi)
Screenshot #1 (AWolf Transmission Rebuild System)
Screenshot #2 (AWolf Transmission Rebuild System)
Screenshot #3 (AWolf Transmission Rebuild System)
Screenshot #4 (AWolf Transmission Rebuild System)