/********************************************* ** ** Makes a COLORREF value from a color entry. ** *********************************************/ static BOOL __far __pascal ParseColorEntry( char __far * szEntry, COLORREF __far * ColorRef ) { BYTE Red, Green, Blue; char __far * szValue; WORD wCounter; /* Read RED color value. */ szValue = _fstrtok( szEntry, COLOR_SEP ); /* Error? */ if( szValue == NULL ) { /* Error. */ return( FALSE ); } else { Red = (BYTE) atoi( szValue ); } /* Parse the GREEN and BLUE color values from the line. */ for( wCounter = 0; wCounter < 2; wCounter++ ) { /* Read next color value. */ szValue = _fstrtok( NULL, COLOR_SEP ); /* Error? */ if( szValue == NULL ) { /* Error. */ return( FALSE ); } switch( wCounter ) { case 0: { Green = (BYTE) atoi( szValue ); break; } case 1: { Blue = (BYTE) atoi( szValue ); break; } } } /* Have color values, create COLORREF. */ *ColorRef = RGB( Red, Green, Blue ); /* Success. */ return( TRUE ); }
void TestTokenF( void ) { char buf[] = "Find!all;the.tokens,"; char __far *ptr; ptr = _fstrtok( buf, " ;.,!" ); /* find a token */ VERIFY( !_fstrcmp(ptr,"Find") ); ptr = _fstrtok( NULL, " ;.,!" ); /* find a token */ VERIFY( !_fstrcmp(ptr,"all") ); ptr = _fstrtok( NULL, " ;.,!" ); /* find a token */ VERIFY( !_fstrcmp(ptr,"the") ); ptr = _fstrtok( NULL, " ;.,!" ); /* find a token */ VERIFY( !_fstrcmp(ptr,"tokens") ); ptr = _fstrtok( NULL, " '.,!" ); /* try to find another */ VERIFY( ptr == NULL ); }
/**************************************************** ** ** Read last position and size of main help window. ** ****************************************************/ BOOL __far __pascal ReadLastMainWndPos( WINDOWPLACEMENT __far * WndPlacePtr ) { BOOL bMaxmized; char __far * TokenPtr; char szString[ MAX_WNDPOS_STRING ]; char szINIFilePath[ _MAX_PATH ]; short int nBytesRead; /* Get path to the INI file. */ GetINIPath( szINIFilePath ); /* Read entry "LastPos" */ nBytesRead = GetPrivateProfileString( INI_GENERAL_SECTION, INI_WNDPOS_ENTRY, INI_ENTRY_NOT_FOUND, szString, MAX_WNDPOS_STRING, szINIFilePath ); /* No bytes read or entry not there. */ if( nBytesRead == 0 || _fstrcmp( szString, INI_ENTRY_NOT_FOUND ) == 0 ) { /* Set to default. */ WndPlacePtr->showCmd = SW_SHOWNORMAL; WndPlacePtr->rcNormalPosition.left = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.top = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.right = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.bottom = CW_USEDEFAULT; /* Setting not found. */ return( FALSE ); } /* ** Parse entry. */ /* Get maximize state. */ TokenPtr = _fstrtok( szString, INI_WNDPOS_TOKEN ); if( TokenPtr != NULL ) { bMaxmized = (BOOL) atoi( TokenPtr ); } /* If maximized. */ if( bMaxmized ) { WndPlacePtr->showCmd = SW_SHOWMAXIMIZED; WndPlacePtr->rcNormalPosition.left = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.top = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.right = CW_USEDEFAULT; WndPlacePtr->rcNormalPosition.bottom = CW_USEDEFAULT; /* Setting found. */ return( TRUE ); } /* Not maximized. */ WndPlacePtr->showCmd = SW_SHOWNORMAL; /* Get x position. */ TokenPtr = _fstrtok( NULL, INI_WNDPOS_TOKEN ); if( TokenPtr != NULL ) { WndPlacePtr->rcNormalPosition.left = atoi( TokenPtr ); } /* Get y position. */ TokenPtr = _fstrtok( NULL, INI_WNDPOS_TOKEN ); if( TokenPtr != NULL ) { WndPlacePtr->rcNormalPosition.top = atoi( TokenPtr ); } /* Get width. */ TokenPtr = _fstrtok( NULL, INI_WNDPOS_TOKEN ); if( TokenPtr != NULL ) { WndPlacePtr->rcNormalPosition.right = atoi( TokenPtr ); } /* Get height. */ TokenPtr = _fstrtok( NULL, INI_WNDPOS_TOKEN ); if( TokenPtr != NULL ) { WndPlacePtr->rcNormalPosition.bottom = atoi( TokenPtr ); } /* Setting found. */ return( TRUE ); }