WinBatch Technical Support Forum
All Things WinBatch => Beta => Topic started 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 64bit 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 multiuser licensing to function like singleuser 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 32bit version from
removing 64bit multiuser license information and the 64bit version from removing 32bit
multiuser license information when the "Remove License Numbers" button is selected. This
change only affects multiuser license installations.
Added a new 64bit integers WIL variable type(8192). The interpreter creates a 64bit integer
WIL variable whenever an integer value greater or less than the maximum or minimum 32bit
signed integer is assigned to a WIL variable.
WIL operators that act on integers now support 64bit integers. These include assignment,
relational, arithmetic, and bitwise operators. However, binary arithmetic operations on
two 32bit integers will not produce 64bit results even if the result overflows or
underflows the maximum or minimum 32bit integer values. To obtain a 64bit result one of the
operands must be a 64bit integer. To produce a 64bit result from 32bit only operands and
avoid overflows or underflows use the new Int64 function on at least one of the 32bit
integer operand.
Added the 64bit integer option (2) to the WinResources function's format parameter. The
option causes the function to return a 64bit integer when the return value is too large or
too small to be represented by a 32bit integer without loss of information.
Added a 64bit integer option (2) to the following functions' format parameter:
DirSize
DiskFree
DiskSize
FileSize
FileSizeEx
The option causes each function to return a 64bit integer.
The following functions have been modified to support new 64bit 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 64bit integers that are very big or very
small.
Note2: The Int function truncates 64bit integer constants to 32bits when the integer
is larger or smaller than the maximum or minimum 32bits integer.
All functions that can convert integer input to a string convert 64bit integers to strings.
The FileInfoToArray has a new flag parameter value of 4. This value causes the function to
return file size information as 64bit 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 64bit integer.
x: value to convert to a 64bit 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.

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

No, 64bit integers and 64bit WinBatch programs are not connected in any way  except for their name, of course.
[edit] Should have just said that both 32bit and 64bit WinBatch support 64bit integers...