Yes, this is exactly the solution :)
I already found the solution, ruining my eyes on the hex dump of the
binary file, but I appreciate so much to have it explained...
thank you Marc and Thomas for your effort
Best regards,
Giulio
Il giorno 17/mar/06, alle ore 7:00 PM, realbasic-nug-
[EMAIL PROTECTED] ha scritto:
"Binary coded decimal" is a well-known term (short term is BCD).
In it, each nibble (that's the two 4 bit parts of a byte) contains a
value between 0 and 9, which is read as a decimal digit.
Example: If you have the bytes &H12, &H34 and read them as BCD, their
value is 1234 (decimal)
Hence, to convert 3 bytes from BCD to a Integer value, do something
like th=
is:
Let's assum the string "bcdVal" contains the 3 bytes read from the
file or wherever. Then:
dim hexStr as String
hexStr =3D Right("0"+Hex(AscB(MidB(bcdVal1,1))),2) + _
Right("0"+Hex(AscB(MidB(bcdVal2,1))),2) + _
Right("0"+Hex(AscB(MidB(bcdVal3,1))),2) + _
Now the hexStr should contain 6 characters, such as "123456"
then simply convert this hexStr to an Integer using Val and you got
your decimal value.
Thomas
On 3/17/06, Aliacta <[EMAIL PROTECTED]> wrote:
I'm afraid you'll have to find out what exactly the author meant with
"binary-coded" i.e. how did he code it?
Marc
I'm using a structure to read some data from a binary file, having
the record format of the data inside the file.
all is working fine for text data, but on the record format I have:
chars 10 to 12 - date (day/month/year, expressed as a binary-coded
decimal number)
I'm using a text field on the structure to read this, because only
reading as a string I can specify the number of chars to read,
but I'm quite confused about trasforming this chunk of binary data
in an integer.
Cantoberon Multimedia srl
http://www.cantoberon.it
Tel. 06 39737052
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>