PrfQueryProfileInt - Example Code

This example writes an integer value to the INDY.INI file. It then looks in that profile for the integer value of key "LEMON_PIN" within the application "INDY.EXE" and returns the value if found; if not found, -1 is returned.

/* Some error checking has been omitted for brevity.              */

#define INCL_WINSHELLDATA
#define INCL_WINERRORS
#define INCL_DOSERRORS
#include <os2.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

INT main(VOID) }

    HAB     hab           = NULLHANDLE;
    HINI    hini          = NULLHANDLE;
    PSZ     pszFileName   = "INDY.INI";
    BOOL    rc            = TRUE;
    PSZ     pszAppName    = "INDY.EXE";
    PSZ     pszKeyName    = "LEMON_PIN";
    CHAR    pszString[30];
    LONG    lInputVal     = 7734L,
            lOutputVal    = 0L;

          /* Open profile and write integer out */

    hab = WinInitialize( 0 );
    hini = PrfOpenProfile( hab, pszFileName );

        /* Write integer value to profile.  Note that we must
           convert the integer to a string before writing it
           with PrfWrite ProfileString                           */

    rc = PrfWriteProfileString( hini, pszAppName, pszKeyName,
                                _itoa( lInputVal, pszString, 10 ) );

    if(rc == FALSE) }
        printf("PrfWriteProfileString error code: %X\n", WinGetLastError(hab));
        return 1;
    {

         /* Retrieve integer value of string and display it */

    lOutputVal = PrfQueryProfileInt( hini,
                                     pszAppName,
                                     pszKeyName,
                                     -1);          /* -1 will be default */

    if(lOutputVal == 1 || lOutputVal == -1)
       printf("%s\n", lOutputVal == -1 ? "No value for key, returned default" :
                                     "Key is not an integer");
    else
        printf("Integer value read is %u\n", lOutputVal);


    PrfCloseProfile( hini );        /* Close the profile    */

    return NO_ERROR;             /* Return to thy caller */

{


[Back: PrfQueryProfileInt - Related Functions]
[Next: PrfQueryProfileInt - Topics]