*********** Winbatch, WinBatch+Compiler and WebBatch 2015A released ***********

Started by td, January 21, 2015, 11:14:41 AM

Previous topic - Next topic

td



We have just released WinBatch, WebBatch and WinBatch+Compiler 2015A.

Customers on an active maintenance plan may download the latest version of the software from the download page.

http://www.winbatch.com/download.html

If you do not have a current maintenance plan and are interested in getting updated, please visit our software maintenance renewal page. You can easily order online.

http://renewal.winbatch.com



WB 2015A Jan 21, 2015

DLL 6.15aoa First showing up in WB 2015A

       Entering license information for either the 32-bit or 64-bit version of WinBatch will now license
       both versions of WinBatch and entering license information for either the 32-bit or 64-bit version
       of the Compiler will also license both versions of the Compiler.
   
       Fixed problem that caused the 'DialogControlGet' function to sometimes report incorrect error
       information.
   
       Fixed problem in the 'SnapShot' function that sometimes caused unexpected results when secondary
       monitors were to the left or above the primary monitor on multi-monitor systems with an extended
       desktop.

       Fixed buffer overrun in the StrTypeInfo function.
     
       Modifed PopMenuStarup program to start PopMenu without user consent when UAC prompting is disabled
       on Windows 8/2012 and newer systems. This change only affects administrator accounts.

       Modified the 'FileRename', 'FileMove', and 'FileDelete' functions to report any system error code
       produced when the functions fail. The error code can be viewed by pressing the 'More Error Info'
       button of the error message dialog box.

       Added a new optional 'Flags' parameter to the 'StrTrim' function.  The 'Flags' parameter is used to
       have the function only remove space and tab characters from either the left-hand or right-hand side
       of the function's string argument.  Setting the parameter to 1 will cause the function to only
       remove spaces and tab characters from the left-hand side of the string. Setting the parameter to 2
       will cause the function to only remove space and tab characters from the right-hand side of the string.
       Setting the parameter to 3 or not specifying the parameter causes default behavior which is to remove
       space and tab characters from both sides of the string.

       Added support for two new sort options to the 'ArraySort' function as alternatives to the default
       'WIL relational operator' sort. The new options are represented by two new WIL constants passed to the
       function by way of its second parameter. The constants can be combined with either a @Descending or
       @Ascending constant using the bitwise OR(|) operator.
     
       @Stringsort -  This option causes the ArraySort function to treat all array elements as text and
                      compare each element character by character.  Character code point values are used for
                      comparisons without consideration of written language syntax or semantics. The contents
                      of array elements do not need to be text in order to use this option. This option cannot
                      be combined with the @Logicalsort option.

       @Logicalsort - The ArraySort function will use a logical string comparison for sorting when this option
                      is specified.  Digits in strings are treated as numerical content rather than text and
                      comparisons are not case-sensitive. This sorting algorithm is identical to the algorithm
                      used by Windows File Explorer to sort displayed file names.  The contents of array elements
                      do not need to be text in order to use this option. This option cannot be combined with the
                      @Stringsort option and requires Windows XP/2003 or newer.

       The decimal place display setting for floating point numbers as set by calling the 'Decimals' function can
       influence the sort order of arrays with elements containing floating point numbers.
                     
       Added support for two new search options to the 'ArraySearch' function. The new options are represented by
       the two new WIL constants also used by the 'ArraySort' function.

        @Stringsort - Use this option to perform a fast binary search of arrays sorted by the ArraySort function
                      using the same option.  The array must be sorted in ascending order and the search is always
                      case-sensitive.  This option cannot be combined with any other search options.
       
       @Logicalsort - This option is used to perform a fast binary search of arrays sorted by the ArraySort
                      function using the same option.  The array must be sorted in ascending order and the search
                      is not case-sensitive.  The option cannot be combined with any other search options and
                      requires Windows XP/2003 or newer.

       The decimal place display setting for floating point numbers as set by calling the 'Decimals' function can
       influence the search result when performing a fast binary search for a floating point number or performing a
       fast binary search of any sorted array that may contain floating point numbers.  Therefore, the decimal place
       display setting in effect when sorting an array must also be in effect when performing a fast binary search
       of an array.
     
     
    New Functions:                                             
                     
       FileLockItemize(s:filename [, n:flags])  - Requires Windows Vista/2008 or newer
         The function returns a delimited list containing the full image file names of all running processes and
         services that are currently using a file. Generally, in-use files cannot be deleted, moved to another
         folder or overwritten.  Typically, files that are opened without sharing enabled are treated as in-use
         files.  Common examples of in-use files include executable image files of running processes and '.DLL'
         files currently loaded into running processes.  The function returns an empty list, if 'filename' is not
         locked by any processes.

         "filename" - A single absolute or relative path + file name to be checked for locking.
         "flags"    - Optional @False or @True value to indicate whether or not the function should error when
                      "filename" cannot be found. The value @False (the default) instructs the function
                      to return an empty list when "filename" is not found. @True instructs the function to
                      report an error when the file cannot be found.
         
         Notes: This function requires Windows Vista/2008 or newer. It cannot be used to identify the image file
         of a process running on a remote computer nor will it return the image file names of elevated processes
         when the function is used by a restricted WinBatch process. If a remote process is locking a local file,
         the function may return a single word like 'system' to indicate that the file is in use but that the
         process is unidentifiable. If only remote processes are locking a remote file on a share and that remote
         file is checked using this function, the function will return an empty string.

    Added 99 new Dialog function related constants to WIL. The following table list the constants along with
    their value and brief description.

         DialogprocOptions Constants (also passed to a user defined callback procedure in the second parameter.)
            @deInit        (0)         The one-time initialization
            @deTimer       (1)         Timer event
            @dePbPush      (2)         PUSHBUTTON or PICTUREBUTTON pressed
            @deRbPush      (3)         RADIOBUTTON selected
            @deCbCheck     (4)         CHECKBOX checked
            @deEdText      (5)         EDITBOX or MULTILINEBOX text edited
            @deFlSelect    (6)         FILELISTBOX item selected
            @deIbSelect    (7)         ITEMBOX item(s) selected
            @deDlChange    (8 )        DROPLISTBOX item selected
            @deCaChange    (9)         CALENDAR date change
            @deSpChange    (10)        SPINNER number change
            @deClose       (11)        Close clicked (Made visible via DialogProcOptions 1002)
            @deFlDblclick  (12)        FILELISTBOX double-click
            @deIbDblclick  (13)        ITEMBOX double-click
            @deComEvent    (14)        COMCONTROL Event notification from DialogObject (NOT DialogProcOptions)
            @deMiSelect    (15)        MENUITEM selected
            @deMiInit      (16)        MENUITEM being initialized
            @deResize      (17)        Dialog resized
            @deRvrSelect   (18)        REPORTVIEW row selected
            @deRvrDblclick (19)        REPORTVIEW row double-clicked
            @deRviCheck    (20)        REPORTVIEW item's checkbox checked/unchecked
            @deRviText     (21)        REPORTVIEW first column item's text changed
            @deRvhClick    (22)        REPORTVIEW header clicked
         
          DialogprocOptions Constants (not passed to a user defined callback procedure.)
            @dpoDisable    (1000)      Codes -1=GetSetting 0=EnableDialog 1=DisableDialog 2=Disable and wait cursor.
            @dpoBkground   (1001)      -1=Get Current otherwise bitmap or color string.
            @dpoSysMenu    (1002)      -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max.
            @dpoTitle      (1003)      Set/Get Dialog Title - (-1 to get.)
            @dpoCtlName    (1004)      Returns the name associated with a control's number.
            @dpoCtlNumber  (1005)      Returns the number associated with a control's name.
            @dpoClientSize (1007)      Returns a space delimited list of the width and height of the dialog's client area.
         
          DialogControlState Constants
            @dcsSetFocus   (1)         Give Control Focus.
            @dcsGetStyle   (2)         Retrieves a control's style bits.
            @dcsAddStyle   (3)         Gives a control a style.
            @dcsRemStyle   (4)         Remove a control style
            @dcsGetFocus   (5)         Returns the name of the control with the focus.
            @dcsMouseOver  (6)         Centers the mouse cursor over a control.
         
          Dialog Control Styles
            @csDefault     (0)         Does nothing when used with DialogControlState. Same as DEFAULT in template.
            @csInvisible   (1)         Sets a control invisible.
            @csDisabled    (2)         Sets a control disabled.
            @csListOnly    (4)         User cannot type text in edit box part of DROPLISTBOX. A template only style.
            @csReadOnly    (8 )        Sets a control to read-only (user cannot type in text.) Use with EDITBOX, MULTILINEBOX and SPINNER.
            @csPassword    (16)        Places an EDITBOX in 'password mode' where only *'s are displayed.
            @csDefButton   (32)        Sets a button as the default button.  Use with PUSHBUTTON and PICTUREBUTTON.
            @csDigits      (64)        Sets a control to only accept digits.  Use with EDITBOX and MULTILINEBOX.
            @csFlat        (128)       Gives a button a 'flat' or 'no depth' appearance. Use with PUSHBUTTON and PICTUREBUTTON.
            @csNoAdjust    (256)       Turns off auto-height adjustment of an ITEMBOX or FILELISTBOX.  A template only style.
            @csCenter      (512)       Centers text in control. Use with VARYTEXT and STATICTEXT.
            @csRight       (1024)      Set text flush-Right in control. Use with VARYTEXT and STATICTEXT.
            @csCurLeft     (2048)      Sets input cursor to left edge of control without text being selected. Use with EDITBOX and MULTILINEBOX.
            @csCurRight    (4096)      Sets input cursor to right edge of control without text being selected. Use with EDITBOX and MULTILINEBOX.
            @csShield      (8192)      Display the Security Shield icon on a button control (Vista/2008 and newer.) Use with PUSHBUTTON and PICTUREBUTTON.
            @csMenuCheck   (32768)     Adds a check mark graphic to the left of a menu item. Use with MENUITEM.
            @csMenuRadio   (65536)     Adds a radio button like dot graphic to the left of a menu item. Use with MENUITEM.
            @csMenuSep     (131072)    Makes a menu item a separator bar graphic. Use with MENUITEM.
            @csMenuBreak   (262144)    Causes a menu item to start a new column. Use with MENUBAR.
            @csNoHeader    (524288)    Removes the header bar from a REPORTVIEW control.
            @csFirstHeader (1048576)   First row of source array or file is used as column header text. Use with REPORTVIEW
            @csGrid        (2097152)   Gives a REPORTVIEW control Grid lines.
            @csSingleSel   (4194304)   Set a REPORTVIEW control to allow only one row to be selected at a time.
            @csFullSel     (8388608)   Causes a REPORTVIEW control to highlight all row columns when the row is selected.
            @csAsort       (16777216)  Causes REPORTVIEW rows to be sorted in ascending order.
            @csDsort       (33554432)  Causes REPORTVIEW rows to be sorted in descending order.
            @csColEdit     (67108864)  Causes a REPORTVIEW control to allow Editing of first column text.
            @csColCheck    (134217728) Add a checkbox to first column of each REPORTVIEW row.
            @csIncHeader   (268435456) Cause the column header text to be included when REPORTVIEW's contents are save to file or array.
         
          DialogControlSet and/or DialogControlGet Constants
            @dcCheck       (1)         Sets or gets the check state of a CHECKBOX or REPORTVIEW.
            @dcDot         (2)         Sets or gets the dot graphic state of a RADIOBUTTON.
            @dcText        (3)         Sets or gets the text in an EDITBOX or MULTILINEBOX.
            @dcTitle       (4)         Sets or gets the text of a PICTURE, RADIOBUTTON, CHECKBOX, PICTUREBUTTON, VARYTEXT, STATICTEXT, GROUPBOX, PUSHBUTTON or MENUITEM
            @dcContents    (5)         Sets or gets the contents of an ITEMBOX, FILELISTBOX, DROPLISTBOX or REPORTVIEW.
            @dcSelect      (6)         Sets or gets the selected items in an ITEMBOX, FILELISTBOX, DROPLISTBOX or REPORTVIEW.
            @dcDate        (7)         Sets or gets the date value of a CALENDAR.
            @dcSpin        (8 )        Sets or gets the current numeric value of a SPINNER.
            @dcTabStop     (9)         Sets the fixed tab stops of a MULTILINEBOX.
            @dcScroll      (10)        Sets or gets the visible item of an ITEMBOX, FILELISTBOX, MULTILINEBOX or REPORTVIEW (Set only.)
            @dcBackColor   (11)        Sets or gets the background color of ANY CONTROL (Except CALENDAR, MENUBAR, MENUITEM, PICTURE and PICTUREBUTTON.)
            @dcBitmap      (12)        Sets or gets the bitmap of a PICTURE or PICTUREBUTTON.
            @dcTextColor   (13)        Sets or gets the text color of ANY CONTROL (Except CALENDAR, MENUBAR, MENUITEM, PICTURE and PICTUREBUTTON.)
            @dcAddItem     (14)        Sets an item in a ITEMBOX,FILELISTBOX,DROPLISTBOX or REPORTVIEW.
            @dcRemItem     (15)        Removes an item (using DialogControlSet) from a ITEMBOX,FILELISTBOX,DROPLISTBOX or REPORTVIEW.
            @dcGroupDot    (16)        Gets the control with the dot in a RADIOBUTTON group.
            @dcPosition    (17)        Sets or Gets a controls origin and size in dialog units for ALL CONTROLS (Except MENUBAR and MENUITEM.)
            @dcMenuNames   (18)        Gets the names of menu items of ANY CONTROL.
            @dchWnd        (19)        Gets the system windows handle of ANY CONTROL (Except MENUBAR and MENUITEM.)
            @dcHeaderText  (20)        Sets or gets the column header text of a REPORTVIEW.
            @dcColWidth    (21)        Sets or gets the column width of a REPORTVIEW
            @dcAppendCol   (22)        Appends a column (using DialogControlSet) to the right side of a REPORTVIEW
            @dcRemoveCol   (23)        Removes a column (using DialogControlSet) from a REPORTVIEW
            @dcFind        (24)        Gets all rows with first column text that matches search text. Use on a REPORTVIEW
            @dcCancelEdit  (25)        Cancels (using DialogControlSet) a user edit of the text in the first colum of a REPORTVIEW
            @dcGetChecked  (26)        Returns all checked rows (using DialogControlGet) of a REPORTVIEW
            @dcColFormat   (27)        Sets or gets the column format (0=left, 1=center, 2=right) of a REPORTVIEW
         
         
          DialogObject Constants
            @doAddEvent    (1)         Call dialog callback when the specified COMCONTROL event occurs.
            @doRemEvent    (2)         Stop calling dialog callback when a previously requested COMCONTROL event occurs.
            @doGetObject   (3)         Return an object references to the specified COMCONTROL control.
            @doGetPicture  (4)         Creates and returns an object reference to a picture object.
         
          Dialog Callback Procedure Return Code Constants
            @retCancel     (0)         Cancels dialog.
            @retDefault    (-1)        Continue with default processing for control.
            @retNoExit     (-2)        Do not exit the dialog.
           
    Modified the 'Dialog' function to accept vertical bar (|) delimited style constants instead of numbers in
    the control style attributes of dialog templates.  Numbers can still be used to indicate a control's style.
 
    Dialog Editor
        Fixed problem that caused hard crash when the editor received a mouse click notification in its window
        client area outside of the dialog template and the displayed template has multiple controls selected.
         
        Added the new 'Use Constants' option to the 'Save' property page of the 'Options' dialog. When checked
        (the default), Dialog Editor will use vertical bar (|) delimited style constants instead of numbers
        in controls style attribute of dialog templates.
     
    WinBatch Studio
        Modified Dialog Callback Procedure generator to use the new WIL dialog related constants when creating
        the procedure and related documentation. Also changed the callback generator to use WinBatch Studio user
        specified tab preferences when formatting lines. Also fixed several minor generator formating problems.

        Added new context menu item to the 'Code Block' popup menu item called 'Convert Dialog Callback Constants'.
        When selected, the menu item converts all instances of old style dialog constants to the new intrinsic dialog
        related constants in the currently viewed document.  It also adds a comment character to the beginning of any
        line that assigns a value to one of the known variable based constants.
         
        Keyword Lookup (Shift+{F1}) now synchronizes the help viewer Contents and Index tabs to the targeted keyword on
        successful lookups.

        Added new 'Find All' button to the 'Find...' menu item's dialog box.  Pressing the 'Find All' button will cause
        WinBatch Studio to search for all instances of the supplied search term in the current document. The search
        results are displayed in the Find Results tabbed window near the bottom of the WinBatch Studio's application
        frame window.  The 'Find All' search can also be started by selecting the new 'Find All' menu item of the
        right-click context menu


Thanks in advance,
Wilson WindowWare Support Team
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

kdmoyers

quick note of thanks --
the new dialog constants work great and the resulting code is more compact and less complex.
even better, the help messages are clear and easy to use, updated with all the constants.
really nice improvement!
-K
The mind is everything; What you think, you become.

td

"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade