Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Creating binary file
Message
De
20/03/1998 11:30:49
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00085981
Message ID:
00086023
Vues:
43
>Mark,
>
>Here's a set of routines I use to handle calls in and out of various API functions:
>
>
>* ConvertAPI.prg 08-Oct-97
>
>* these functions convert to/from internal binary storage
>
>function ToWord( pnNumber )
>nMSB = int( pnNumber / 256 )  && most significant byte
>nLSB = pnNumber % 256  && least significant byte
>return chr( nLSB ) + chr( nMSB )
>
>function ToLong( pnNumber )
>nMSW = int( pnNumber / 65536 )  && most significant word
>nLSW = pnNumber % 65536  && least significant word
>return ToWord( nLSW ) + ToWord( nMSW )
>
>function FromWord( pcBuffer )
>return asc( substr( pcBuffer, 2, 1 ) ) * 256 + asc( left( pcBuffer, 1 ) )
>
>function FromLong( pcBuffer )
>return FromWord( substr( pcBuffer, 3, 2 ) ) * 65536 + FromWord( left( pcBuffer, 2 ) )
>

>
>If you are using the Long functions a lot (thousands of times in a loop), significant perfomance can be gained by "inlining" the Word functions.
>
>>The real problem is how would I convert numbers to 4-byte integers. An example is converting a value of 22030 to be 00 00 56 0E.


Thanks, I give these a try.
Mark Johns
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform