Copenhagen, October 22nd 2007 Readme file of VDFQuery 2.4 for VDF 12.x ---------------------------------------- This upload contains the source codes and documentation for: * VDFQuery 2.4 (VDFQuery.doc) VDFQuery is a query tool meant to be integrated into your VDF application. You may also decide to compile VDFQuery as a stand- alone program. To do that you should compile dbquery.src. * FastView 12 (FastView.doc) The FastView program is an alternative to dbExplorer and may be used to view and change the data in your tables. But it is more than that. You may compile your DataDictionary classes into the FastView program thereby making all updates to your database obey your business rules. Read about it in FastView.doc * VDFGraph 1.4 (VDFGraph.doc) VDFGraph is a collection of tools for drawing graphics on the screen. You may compile grdemo.src for a demo of what the routines can do. * DFMatrix 12 for VDF12 (Dfm.doc) DFMatrix is a collection of VDF tools. Read Dfm.doc for further information. All documents are located in the doc subfolder. ------------------ READ THIS: Important notice: --------------------- VDFQuery 2.4 fixes bugs compared to the beta. Therefore all is well except for this minor catch: Between 2.4 beta and 2.4 released, I have changed the names of a few global functions, that you may or may not use directly in your existing code. If you do, you will have to change your application source to call the new function name instead of the old one. He're we go: Old global function -> is now called (defined in) ByteToHex -> vdfq_ByteToHex (strings.nui) HexToByte -> vdfq_HexToByte (strings.nui) StringToHex -> vdfq_StringToHex (strings.nui) HexToString -> vdfq_HexToString (strings.nui) WildCardMatch -> vdfq_WildCardMatch (wildcard.nui) DayName -> vdfq_DayName (dates.nui) DateDayName -> vdfq_DateDayName (dates.nui) MonthName -> vdfq_MonthName (dates.nui) DateMonthName -> vdfq_DateMonthName (dates.nui) DateSegment -> vdfq_DateSegment (dates.nui) Not a nice thing to do, I know. Unfortunately that didn't stop me. The renaming has been done to avoid name clashing with a new library that we're developing. NO APECT OF THEIR FUNCTIONALITY HAS CHANGED, JUST THEIR NAMES. If you do not explicitly call these functions, you should be good to compile. -Sture Andersen Download url: ftp.dataaccess.com/pub/products/vdf/Software/VDFQuery/ReadMe24.txt ftp.dataaccess.com/pub/products/vdf/Software/VDFQuery/vdfq24.zip Since beta-1 these issues have been addressed: + Problem with disappearing radio buttons reported by Pepe GuimarĈes has been fixed. + Problem with missing label properties in "Object properies" panel has been fixed. (I still think the Studio package parser should recognize "#IFDEF IS@WebApp" by default) + "Lack of contrast" in Vdfquery selection tab page has been fixed (Wil's solution) + Now a VDFQuery report (in WinPrint2 mode) may be cancelled even when in a dead sequence (records that are not selected for output) and scanning progress is updated as well. This was already so in VPE mode. + A thing with request_destroy_object This has not been addressed: - Anything I may have forgotten. If you have had problems with the betas, try this one out. -Sture Andersen I have added an item to the install instructions from the readme file. They now read: 1. Unpack the library. 2. Start up the VDF 12 studio and point it to a workspace from which you want to use VDFQuery. 3. Under "Tools"->"Configure Studio"->"File Extensions" add *.utl and *.nui (these are used a lot within the VDFQuery library). 4. Right click the "Class Palette" and select "Add/remove libraries" 5. Select "Add library" and find the VDFQuery.sws file (or VDFQuery121.sws if you're using VDF 12.1) file that is located in the root-folder of the VDFQuery library. 6. Select "Project"->"Add component(s) to ..." and navigate to the VDFQuery AppSrc folder and select vdfquery.rv. Keep an eye on the Studios "Output" panel. If you get a "Main_Menu object not found" message you must add this line: On_Item "Ad hoc query tool" Send Activate_Query_Vw to your menus yourself. New in VDFQuery 2.4 for VDF 12 ------------------------------ * Source code adapted for VDF 12 Studio (and the still stricter compiler) * Label shading problem in VDFQuery UI fixed by Nicholas Herlick * 'Compare table data' function added to DFMatrix * A new message in VDFQuery.utl (procedure AutoLaunchGridQuery) will - when called while focus is with a dbGrid - create a report of records shown in the dbGrid displaying the same columns that are in the dbGrid. * The above function may be called from within FastView by pressing ctrl+G (while the focus is with a grid of records). * Support for versions prior to 12 and character mode has been removed from the vdfquery 2.4. Use instead VDFQuery 2.3. This however still applys: -------------------------- The packages included do not handle tables the new RowID way. "Standard tables" (tables without recnum support, the new way) can not be handled at this point. Secondly, everywhere in the packages and the documentation, when references are made to "arrays", it means an object of the array class and not the array type that has been implemented as of VDF11 (and which is far superior to the objects). Go to ftp://ftp.dataaccess.com/pub/products/vdf/Software/VDFQuery/ for versions of VDFQuery that compiles to older versions of (V)DF. Install ------- This version of VDFQuery has been adapted for use with VDF 12. It now appears in the form of a "VDF library" (which is really just a normal workspace that you make accessible from other workspaces). To install it, do this: 1. Unpack the library. 2. Start up the VDF 12 studio and point it to a workspace from which you want to use VDFQuery. 3. Under "Tools"->"Configure Studio"->"File Extensions" add *.utl and *.nui (these are used a lot within the VDFQuery library). 4. Right click the "Class Palette" and select "Add/remove libraries" 5. Select "Add library" and find the VDFQuery.sws file located in the root-folder of VDFQuery library. 6. Select "Project"->"Add component(s) to ..." and navigate to the VDFQuery AppSrc folder and select vdfquery.rv. Keep an eye on the Studios "Output" panel. If you get a "Main_Menu object not found" message you must add the line: On_Item "Ad hoc query tool" Send Activate_Query_Vw to your menus yourself. I have not added any of my classes to the Class Palette. The reason is that I cannot figure out which ones to add. Most of the functionality I expect you to use is encapsulated in global procedures anyway. Copyright --------- The packages in the VDFQuery upload available from the FTP site of Data Access were programmed by me and are to be considered 'public domain' and may be distributed freely as is or as part of a product including these files with no further permission than this statement. Only do I request that developers do not attempt to back-port VDFQuery to VDF/DF versions earlier than the versions it was inteded for for by me. The vdfq24.zip file contains all packages needed for integrating a query tool into your VDF applications. Documentation is available in a Word document also found in the zip file. Rather than writing me directly you could try: news://news.dataaccess.com/dataflex news://news.dataaccess.com/visual-dataflex for questions and suggestions. NOTE! You should check news://news.dataaccess.com/open-source for information on smaller updates to this upload. Sture Andersen E-mail: sture@sture.dk VDFQuery version history: ------------------------- New in VDFQuery 2.4 (October 2007) is further up in the file. New in VDFQuery 2.3 (May 2005) * A few syntax errors are fixed to comply with the new stricter VDF 11 compiler. * New "in-list" criteria in VDFQuery. Fields may be evaluated against a list of possible values (like OR'ing). * Much improved paint procedures in VDFGraph. Screen flickering is a thing of the past. Contributed by Chris Stammen. * Error in sorting mechanism for item_property arrays fixed New in VDFQuery 2.2b (August 2004) * HTML output no longer doubles OEM -> ANSI conversion * XML RootNode naming extra protected (once again) * Function VpeWriteRTF gave a compile error with some versions of VPE. No more so. New in version 2.2 (July 2004) * WinPrint2 is used (therefore this is VDF10 only) * Bug in XML output from VDFQuery fixed * Fastview now has dynamic menues with defined view and queries * Classes for implementing free text search (FTS) included * Dfm has a new menu item called "Explore folder sizes" * The VPE version of VDFQuery now stores its setup file (formerly c:\vpe3.set) in a folder relative to the data folder with the windows user name as part of the file name. This eliminates a conflict when deployed on Windows Terminal Server. * Italian added * Missing openbook.bmp added * vWin32fh.pkg by Wil van Antwerpen (www.vdf-guidance.com) has been updated. * cXmlBuilder class added (xmlbuilder.nui). Documentation in package. * Fix for error in save mechanism for VDFQuery definitions (thanks to Archie Campbell) * A number of errors fixed New in version 2.1b (Feb 2004) * Spanish and German language sections updated * Missing files fastview.cfg and openbook.bmp added * "Create empty tables" function in DFMatrix has been fixed * DFMatrix now handles alias correctly files when "Compare all" is used * Prepared for use with VPE 3.5 (as well as 3.1) * Symbols for PDF enhanced VPE defined (in vpe3x.cfg) * Views created in FastView now appears in pulldown menu * The same is true for query definitions New in version 2.1 (Jan 2004) * Top text did not appear when output was sent to HTML. This has been fixed * The OEM to ANSI conversion is now enabled when outputting to HTML regardless of the checkbox setting. * Rename VT_* in VMachine.utl and DFScript.utl to avoid name clashing with CDO's. * Added support for definition and output folders. These are now specific to the Windows user. * Fixed error in procedure set CriteriaValue * Fixed error when setting output order to descending ad-hoc (only affects 9.1) * Character mode Query has been reinserted in the download. DBQuery.df3 compiles with DF3.2 (any platform) * New feature in DFM (Win version): "Dump/Load data". * It is now possible to open a set of table definitions by pointing to a filelist.cfg. * New feature Fastview: "Document your database". Lets you enter textual description of each table and each field in your database. * FastView home folder is now specific to each windows user. New in version 2.0 (Oct 2002) * Field selector tracks when fields already selected are focused * Table definition will be displayed if table selector is right clicked * All fields in an index may be selected for printing by right clicking field selector * Fastview bug fixed (file not open) * VDFQuery bugs fixed: - Break info did not appear to be saved with the definitions - Eval function failed on string segments longer than 255 * Spanish language section updated New in version 2.0 beta (May 2002) * User may specify calculated columns in reports * Selection criteria based on an expression * The ability to order the output based on any combination of field values (including parent fields) * VDFQuery and VDFSort dialogs may now be re-sized the anchoring way * Character mode Query removed from the download (sorry) * Source code for FastView 2.0 for VDF 8.x added New in version 1.7b (March 2002) * Fixed VPE preview * Now compiles with StarZen's VPE packages (Peter van Mil) * "Number too large..." error in VDFGraph fixed * Find file feature of DFMatrix fixed (when scanning PR? files) New in version 1.7 (February 2002) * Default language changed from Danish to English * Changed superclass of GraphicArea class to comply with VDF 8.1 * Fixed error in FileList.utl to allow for FileList entries above 255 * Disabled timer in Graphichs demo program (grdemo.src) causing 'Can't kill windows timer' on exit (error 1400) * Disabled VPE interface of Graphichs demo program (grdemo.src) * Replaced garbled dfcalend.bmp * Swedish language section updated New in version 1.7 beta (December 2001) * Now compiles with VDF 8 * New character mode query (DbQuery.df3) * Bug fixes New in version 1.6b (September 2001) * Missing VDFSort files added (VDFSort) * Pathing problem regarding XML output fixed (VDFQuery) * Code blocking insertion of fields removed (DFMatrix) * Open as 'Read only' removed from open dialogs. New in version 1.6 (August 2001) * XML capability added. * No longer clears the buffer following a query on a system file. * Fixed broken exclusion of tables with "@" in display name. * Text field blank criteria added * Fixed bug when specifying selection criteria on calculated fields. * French language included * Now works with high filelist numbers (up to 4095) * DFMatrix source included (and documented in a separate Word document) * Jump-out error fixed. * Source code conflict with FlexCom resolved * Main panel is now resizable New in version 1.5 (November 2000) * New table selector * Field exclusion feature fixed * Prompt list on relating fields (when entering selection criteria) * Message available to set icon (set VDFQuery_Icon to "xxx") * Optional choice of ANSI character set when printing to file * Optional inclusion of column names when printing to file * Optional texts to print as part of report header and report total * Optional use of semicolon (instead of comma) when printing to comma separated files * More advanced possibilities to call previously saved report definitions * Now supports VPE 3.1 * Language selector mechanism changed to comply with VDF7 * Programmer specified virtual indices may now be added to the index selector * A number of errors fixed. New in version 1.3b (June 1999) * The global WinPrint object is now reset after printing a VDFQuery report * All supported languages updated * Jump-out error on numeric index segments fixed * Jump-in error involving descending index segments fixed * Clean-up code added to VdfSort (to avoid calling the DDB) * VDFSort will now compile if used inside the client area * DD field labels may now be displayed in field selector list (by right clicking on the list) * Files may now be hidden from the user via the VdfQuery_ExcludeFile property * VDFGraph packages included (and documented in a separate Word document) New in version 1.3 (April 1999) * Field names that begins with a '@' character are now excluded. * Portuguese string constants have been added. * Now possible to hide fields from the user. * All selection criteria for a report may be specified in one panel. * Multi level report breaking added. * Now possible to use field labels as specified in DD classes. * Programmer specified functions may appear as printable and selectable fields. * WinPrint reports now looks more appealing (I think). New in version 1.2b (October 1998) * Argument size adjustment now also in effect when the WinPrint interface is used. * Dutch added. * Shadow error on 'orientation' check box fixed. * HTML capability added. New in version 1.1 (July 1998) * Supports new 'MaxLength' feature in WinPrint 1.16 (in fact, it now ONLY works with WinPrint 1.16 and above). * Swedish and German have been added. * It is now possible to print the reports in landscape. VDFQUERY 1.1 will read the VDQ files of VDFQUERY 1.0 but not the other way around. ********************************************************** ***** Decription of the new features of VDFQuery 2.0 ***** ********************************************************** CALCULATED COLUMNS On the tab page called "Fields" there is a button called "Expression". Clicking this will enable you to insert a calculated column. You must specify a label, a width and the type of column. If 'Numeric' is selected you should also specify the number of decimals. Clicking the 'Edit' button allows you to specify the actual expression. When doing so two things are important: 1. Make sure that the expression is put inside parenthesis. 2. Take care that the return type of the expression is the same as that indicated in the combo form of the previous dialog. EXPRESSION AS SELECTION CRITERIA On the second tab called "Selection" you may click the "Expression" button to enter an integer expression that will be evaluated for each records. If it evaluates to a non zero integer value the record will go in the report. These things should be noted: 1. The integer expression needs to be inside parenthesis. 2. Take care that the return type is integer 3. The expression will only be evaluated if the other criteria (if any) includes the record 4. Selections done in the expression dialog will not be used as basis for report optimization. DISABLING CALCULATED COLUMNS AND EXPRESSION AS CRITERIA Simply set VdfQuery_Expressions_State to DFFALSE and the 'Expression' buttons will not appear. REPORTING BY AN AD-HOC-INDEX VDFQuery allows the user to select any of the pre-defined orderings of the selected main table. But it also allows you to select "ad-hoc" whereby the button of the same name is enabled. Clicking this allows you to specify any sequence of fields (including fields from parent tables) that should define the ordering of the output. Break levels may be set accordingly.