New in FoxyPreviewer version 3.0

  • Added redundant code to make sure there is at least one printer installed
  • "PR_FXLISTENER was not found" after an error was raised in development mode
  • Fixed Dynamics issue
  • Fixed SET CLASSLIB in development mode that was bringing issues with some builders
  • Fix in <TF>, Internal error that was asking to open a table during execution, now drawing the background colors
  • Several small fixes in ExcelListener (wrong cell backgrounds, PageNumber not being omitted)
  • Fix in HEADING clause of the REPORT FORM command
  • Fix in report saving, allowing pressing the "save" button several times
  • Fix in initialization, solving a CPZERO error
  • Fix in PDF rendering when the image is not found at the disk
  • Fix the current alias sometimes was not maintained after the report run
  • Fix Switching to zoom 100% was showing cut preview image
  • Fix Initialization at specific folder was not working

New Properties
  • cTempDestFile - Character, the temporary destination file (image, htm, pdf, etc). Its contents will be wiped after the 1st report run. This file name will be used if the user clicks the "Save" or "Email" buttons in the Preview.
  • _cSettingsFile = the settings DBF file with the default values. For debugging purposes; use it to ensure you're running the desired FoxyPreviewer version
  • _cSys16        = The SYS(16) of FoxyPreviewer, allows you to know exactly what file was started. For debugging purposes; use it to ensure you're running the desired FoxyPreviewer version
  • nPrinterPropType - numeric, determines the type of the Custom Printing Screen

    1 = PRINTER PROMPT Printer dialog 
    2 = Current printer properties
    3 = New Printer dialog (default)

Other features
  • Zipping before sending email
  • Export reports to TXT
  • Export reports to MHTML (with embedded images in a single file)
  • Pure Excel output much faster, now using FoxyXLS. This way, FoxyPreviewer does not need Excel or OpenOffice to generate the Excel files
  • Introduced a new <TAG> in the Tagged formatting mode <TF>, that allows you to change the backcolor: <BACKCOLOR=255,255,255></BACKCOLOR>

    New tag '<DY>', introducing  new way for you to dynamic format your texts in your reports - Dynamic formatting to be used in the "OTHER" - "USER DATA" - "EDIT USER DATA"

    Available subtags:


    Sample1:   <DY><FORECOLOR>ICASE(nAmount<1000, RGB(255,0,0), BETWEEN(nAmount,1000.001,2000), RGB(0,255,0), nAmount>2000, RGB(0,0,255))</FORECOLOR></DY>

    Sample2:   <DY><BACKCOLOR>ICASE(orders.order_amt<1000, RGB(255,0,0), RGB(0,0,255))</BACKCOLOR><DY>

    If the result of the condition is FALSE - .F., then the default behavior will be applied
    You can add more than one type of Dynamic style at a time for the same control

    Sample3: <DY><BACKCOLOR>ICASE(orders.order_amt<1000, RGB(255,0,0), RGB(0,0,255))<TEXT>IIF(orders.order_amt=0, "ZERO", .F.)</TEXT></BACKCOLOR><DY>
    See more usages in the report sample PERCENTDY.FRX

  • New Printer settings screen, that brings several options like the most modern Printing dialogs available in other applications. This screen is accessed by clicking at the "Printing Preferences", or "Printer Prompt" icon in the Report Preview Toolbar

    This new dialog form brings several cool features, now similar to most of the available printing tools:

    1 - Printers Combo: Filled with all the available printers in the current machine

    2 - Page Range: You can select which pages to be printed, either from the spinners, or from the slider control (13), below the preview window.

    3 - Print on both Sides. Will start printing the odd, stops with a dialog box, waiting for you to insert the pages in the other side.

    4 - Invert Pages: Will print starting from the last page of the report

    5 - Pages in range: allows printing all pages in range, only odds, or only even pages

    6 - Miniature Pages per sheet: Now you can print 1, 2, 4 or 6 pages at the same sheet of paper!

    7 - Copies: the quantity of copies

    8 - Collate: Collate printing should be used anytime when you need a number of copies of a multi-page document that is meant to be read sequentially. The more pages in the document and the more copies you need, the more time you can save through collated printing.

    9 - Scaling: Reduce or enlarge your reports

    10 - Grayscale: Convert your report to Grayscale even in a color printer

    11 - Printing Preferences: Change the current printer driver defaults

    12 - Print Preview: Shows how your report will fit in the page. Specially useful when you include more that one page per sheet

    13 - Slider: Navigate through the report pages

  • Export directly to any of the available output types directly, without the need to use the OBJECT TYPE clause, just use TO FILE

    REPORT FORM YourReport TO FILE "YourFile.PDF"

  • Initialize FOXYPREVIEWER in a cleaner mode, just with the basic listeners

    This way, all listeners needed for printing or previewing will be available. To export without previewing, just use the REPORT FORM ... TO FILE CLAUSE, without OBJECT TYPE
    The initialization will be faster, and less resources will be used in memory

  • Solved the JUMBO issue that used to cut about 30% of the report page when using High DPI scaling (from 150% and above). If high DPI is detected, nRenderMode will switch to 2 automatically. Or use the new property "nRenderMode = 2 or 3"

  • New preview in a Scrollable container, having all the controls fixed at the top of the preview screen

  • 2 New PDF rendering options, providing a faster file generation and a very accurate page reproduction

  • New buttons using SEGOE MDL2 ASSETS icons, the ones used by WIN10

    You can customize the toolbar, using any icon, from any available font, selecting the main, mouse over and disabled color

  • New "Share with..." button allows you to drag and drop your report to an external application, like WhatsApp or Telegram, with absolutely no code!

  • User control - You can start FoxyPreviewer at any desired folder. This will allow you to have your specific user files at the desired location. Here are some options for you to initialize FP3:

Option 1:
DO FOXYPREVIEWER WITH "d:\Users\John" && Path
DO FOXYPREVIEWER WITH "CLEAN", "d:\Users\John" && Path
DO FOXYPREVIEWER WITH "CLEAN", "d:\Users\John", "John" && Path and User - 3 parameters

Option 2:
* Using tags for all possibilities, with room for new options in the future

      The currently available parameters are:

      Release - To release FoxyPreviewer completely, clearing memory, and restoring to the original printing environment
      Clean - A faster initialization, loading only the needed ReportListeners for all the outputs. The good and old "OBJECT TYPE" mode will not be available, but "REPORT FORM YourReport.Frx TO FILE xxxxxx.pdf" will do the same job. Recommended setting. It was not set as default to keep backwards compatibility.
      Path - The path where the file "FoxyPreviewer_Settings.dbf" will be stored
      User - New parameter, to allow having different "FoxyPreviewer_Settings.dbf" available in the same folder, for instance: we can have the files: FoxyPreviewer_Settings_John.dbf and FoxyPreviewer_Settings_Chris in the same folder. One for each user, at the same location, or wherever you like.
      Reset - Resets the current Settings table for the current user. This file can also be deleted - FP will recreate it on the next run.