64 bit version of DHPOS
Posted: Sat Apr 01, 2017 8:45 pm
A small candle has been lit in the darkness or 2 steps toward 64 bits.
The problem that I have just overcome is a data type that is not supported in QB64. The current version of the program uses the “Currency” type (type declaration character data = @) in QuickBASIC 7.1 for some functions. This is an 8 bit data type that allows numbers to be stored from -922,337,203,685,477.5808 to 922,337,203,685,477.5807. QB does not support that type but does have a “Interger64” data type (type declaration character data = &&) that allows numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
That looks pretty much the same for the range except for that pesky decimal point and of course the respective declaration character.
Unfortunately details matter. So I had to go through the entire program to change the @ into && and account for the fact that the new values are 10,000 times more than the previous values.
While QB64 will save the new data type as an 8 bit string the strings are different from the old “Currency” type which is important if you want the QB64 program to read data from the old version data files.
So I fixed all of that and pressed [F5] and the program actually compiled and ran. AMAZING!
But it is not error free. Now it is a matter of playing “Whack-a-mole” on bugs, errors, and just plain weirdness until I get a completely working 64 bit version.
There is still a long way to go but I now have some confidence that a 64 bit version of DHPOS will be possible.
The problem that I have just overcome is a data type that is not supported in QB64. The current version of the program uses the “Currency” type (type declaration character data = @) in QuickBASIC 7.1 for some functions. This is an 8 bit data type that allows numbers to be stored from -922,337,203,685,477.5808 to 922,337,203,685,477.5807. QB does not support that type but does have a “Interger64” data type (type declaration character data = &&) that allows numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
That looks pretty much the same for the range except for that pesky decimal point and of course the respective declaration character.
Unfortunately details matter. So I had to go through the entire program to change the @ into && and account for the fact that the new values are 10,000 times more than the previous values.
While QB64 will save the new data type as an 8 bit string the strings are different from the old “Currency” type which is important if you want the QB64 program to read data from the old version data files.
So I fixed all of that and pressed [F5] and the program actually compiled and ran. AMAZING!
But it is not error free. Now it is a matter of playing “Whack-a-mole” on bugs, errors, and just plain weirdness until I get a completely working 64 bit version.
There is still a long way to go but I now have some confidence that a 64 bit version of DHPOS will be possible.