WinBatch® Technical Support Forum

All Things WinBatch => Beta => Topic started by: td on May 12, 2021, 07:39:56 AM

Title: **************** WinBatch+Comiler 2021C (Beta) release ****************
Post by: td on May 12, 2021, 07:39:56 AM


Here we go again. A new beta version of WinBatch+Compiler is available. This released is focused on a new variable data type, INT64 or type 8192. In the era of big files, big money, and big everything else, it is time for WIL to have native 64-bit integers.  The hard part was doing so without breaking existing scripts.

Customers with a current license may download the beta version of the software from the download page.  Find beta software in the Alternatives
download list.

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

If you do not have a current license and are interested in updating WinBatch+Compiler and extenders, please visit our software purchase page. You can easily order online.

https://commerce.winbatch.com




Release notes:
WB 2021C May 12, 2021 (Beta) 

DLL 6.21cuc First appearing in WB 2021C

   Changed multi-user licensing to function like single-user licensing so that license numbers
   only need to be entered on two occasions instead of four to license all applications and
   utilities in a distribution.

   Address an issue in the WinBatch Navigator script that prevented the 32-bit version from
   removing 64-bit multi-user license information and the 64-bit version from removing 32-bit
   multi-user license information when the "Remove License Numbers" button is selected. This
   change only affects multi-user license installations.
 
   Added a new 64-bit integers WIL variable type(8192). The interpreter creates a 64-bit integer
   WIL variable whenever an integer value greater or less than the maximum or minimum 32-bit
   signed integer is assigned to a WIL variable.

   WIL operators that act on integers now support 64-bit integers.  These include assignment,
   relational, arithmetic, and bitwise operators. However, binary arithmetic operations on
   two 32-bit integers will not produce 64-bit results even if the result overflows or
   underflows the maximum or minimum 32-bit integer values. To obtain a 64-bit result one of the
   operands must be a 64-bit integer. To produce a 64-bit result from 32-bit only operands and
   avoid overflows or underflows use the new Int64 function on at least one of the 32-bit
   integer operand.

   Added the 64-bit integer option (2) to the WinResources function's format parameter. The
   option causes the function to return a 64-bit integer when the return value is too large or
   too small to be represented by a 32-bit integer without loss of information.

   Added a 64-bit integer option (2) to the following functions' format parameter:
      DirSize
      DiskFree
      DiskSize
      FileSize
      FileSizeEx

      The option causes each function to return a 64-bit integer.

   The following functions have been modified to support new 64-bit integer WIL variables and
   manifest constants as input:
     IsFloat
     IsNumber
     IsInt
     ObjectType
     VarType
     Avg
     Min
     Max
     
     Note1: The Min, Max, and Average functions use floating point numbers internally. Since
            numbers larger than 9,007,199,254,740,991 or less than -9,007,199,254,740,991 cannot
            be represented in the floating point format without loss of precision these
            functions will produce inexact results on 64-bit integers that are very big or very
            small.
     Note2: The Int function truncates 64-bit integer constants to 32-bits when the integer
            is larger or smaller than the maximum or minimum 32-bits integer.

   All functions that can convert integer input to a string convert 64-bit integers to strings.

   The FileInfoToArray has a new flag parameter value of 4.  This value causes the function to
   return file size information as 64-bit integers. If the 4 flag value is combined with 1
   (huge numbers), the 4 is ignored.

   New functions:
     Int64(s/u/i/i64/f:x)
       Returns the passed in values as a 64-bit integer.
        x:  value to convert to a 64-bit integer.

     GetTickCount64()
       Returns the number of milliseconds that have elapsed since the system started. This
       function is similar to its namesake GetTickCount except that a system would need to run for
       roughly 106,751,991,167.3 days instead of 49.7 days before the return value turns negative
       and eventually wraps back to 0.

   Dialog Editor
     Fixed a problem displaying the editor's help file topics by adding a workaround for a defect
     in the Windows help system.
Title: Re: **************** WinBatch+Comiler 2021C (Beta) release ****************
Post by: kdmoyers on May 13, 2021, 01:11:32 PM
OK, I'm just gonna show my ignorance and ask: will a wbt program need to use the 64 bit compiler to use these cool 64 bit integers?  (my guess is No, but just to be sure...)
-Kirby
Title: Re: **************** WinBatch+Comiler 2021C (Beta) release ****************
Post by: td on May 13, 2021, 01:35:31 PM
No, 64-bit integers and 64-bit WinBatch programs are not connected in any way - except for their name, of course.

[edit] Should have just said that both 32-bit and 64-bit WinBatch support 64-bit integers...