dcsimg
September 23, 2018
Hot Topics:

CString Extensions for Resource Loading and String Formatting

  • May 12, 2000
  • By Joshua Reed
  • Send Email »
  • More Articles »

Class Definitions

<font color=green>// Load resource</font>
class CResString : public CString
{
public:	
 CResString(): CString() {}; 
	 
 CResString(UINT nResID) 
 { 
  Init();
  VERIFY(LoadString(nResID) != 0);
  _ASSERTE( m_pchData );
 };

 void operator () (UINT nResID)
 {
  Init();
  VERIFY(LoadString(nResID) != 0);
  _ASSERTE( m_pchData );
 }
};

<font color=green>// Format </font>
class CFmtString : public CString
{
public:	
 CFmtString(): CString() {}; 

 CFmtString( char *szFormat, ... ) 
 { 
  Init();
  va_list argList;
  va_start( argList, szFormat );
  FormatV( szFormat, argList );
 };

 CFmtString( UINT uResID, ... ) 
 { 
  Init();
  va_list argList;
  CResString sFormat( uResID );
  va_start( argList, sFormat );
  FormatV( sFormat, argList );
 };

 void operator () ( char *szFormat, ... )
 {
  Init();
  va_list argList;
  va_start( argList, szFormat );
  FormatV( szFormat, argList );
 }

 void operator () ( UINT uResID, ... )
 {
  Init();
  va_list argList;
  CResString sFormat( uResID );
  va_start( argList, sFormat );
  FormatV( sFormat, argList );
 }
};

Examples of Using the CResString Class

CResString sSection(IDS_DATAOBJECTSECTION);
	
<font color=green>// Use sSection</font>

<font color=green>// ...</font>

<font color=green>// Load another string</font>

sSection(IDS_INVALIDOBJECT);

Example of Using the CFmtString Class

CFmtString sCommand(_T("SELECT %s FROM %s WHERE %s = %d"),
                    sColumn1, sTable, sColumn2, nID );
	
<font color=green>// Use sQuery</font>

<font color=green>// ...</font>

<font color=green>// Format another</font>
	
sCommand(_T("UPDATE %s SET %s = %d WHERE %s = %d"),  
         sTable, sColumn1, nValue, sColumn2, nID );

Downloads

Download source - 1 Kb






Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.

Sitemap

Thanks for your registration, follow us on our social networks to keep up-to-date