Page 1 of 1

Conversión de C++ a Clipper/FW

Posted: Wed Nov 11, 2020 4:55 pm
by informaticaeloy
Hola, buenas tardes

Estoy trabajando con una función de terceros que me devuelve el valor 100729898. Si este valor se convierte a HEX, se obtiene 601042A, que según la documentación de la función de terceros se corresponde con 4 valores, el 6, el 01, el 04 y el 42, o sea, 6.01.04.42

Según la info de dicha función, este es el código que usan para presentarlo en C++:

Code: Select all

DWORD dwVersion = NET_DVR_GetSDKBuildVersion(); 
csTemp.Format("HCNetSDK V%d.%d.%d.%d", (0xff000000 & dwVersion)>>24,\
   (0x00ff0000 & dwVersion)>>16,\
   (0x0000ff00 & dwVersion)>>8,\
   (0x000000ff & dwVersion));
//%.d,0x0000ff & dwVersion,build NO. do not expose
 
O esta otra función, que me devuelve 393217, y se supone que debe de interpretarse como 20200527, mediente este código en C++:

Code: Select all


void Demo_SDK_Version()
{
    unsigned int uiVersion = NET_DVR_GetSDKBuildVersion();
 
    char strTemp[1024] = { 0 };
    sprintf_s(strTemp, "HCNetSDK V%d.%d.%d.%d\n", \
        (0xff000000 & uiVersion) >> 24, \
        (0x00ff0000 & uiVersion) >> 16, \
        (0x0000ff00 & uiVersion) >> 8, \
        (0x000000ff & uiVersion));
    printf(strTemp);
}
 
¿Hay algo similar en Clipper/Fivewin o funciones específicas para trabajar con números binarios?

Gracias.

Re: Conversión de C++ a Clipper/FW

Posted: Wed Nov 11, 2020 6:54 pm
by Antonio Linares
Eloy,

? hb_NumToHex( 100729898 )

? hb_HexToNum( "601042A" )