Convert a 16-bit signed integer to a numeric value

     BIN2I(<cSignedInt>) --> nNumber


     <cSignedInt> is a character string in the form of a 16-bit signed
     integer number--least significant byte first.  Only the first two
     characters are used by the function; all others are ignored.


     BIN2I() returns an integer numeric value.


     BIN2I() is a low-level file function that is used with FREAD() to
     convert a two-byte character string formatted as a signed integer to a
     Clipper numeric data type.  This is most useful when you are reading
     foreign file types and want to read numeric data in its native format.


     .  This example opens a database file using low-level file
        functions and reads the date of last update (bytes 1-3).  The result
        is the same as with LUPDATE():

        #include "Fileio.ch"
        nHandle := FOPEN("Sales.dbf", FO_READ)
        // Point to byte 1 in the file
        FSEEK(nHandle, 1, FS_SET)
        // Read date of last update
        nYear := BIN2I(FREADSTR(nHandle, 1) + CHR(0))
        nMonth := BIN2I(FREADSTR(nHandle, 1) + CHR(0))
        nDay := BIN2I(FREADSTR(nHandle, 1) + CHR(0))
        ? LTRIM(STR(nMonth)), LTRIM(STR(nDay)), LTRIM(STR(nYear))

 Files   Library is EXTEND.LIB, source file is SOURCE\SAMPLE\EXAMPLEA.ASM



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.