CCFXStringSet class



Abstract class that represents a set of ordered strings. You can add strings to a set and retrieve them by a numeric index (index values for strings are 1-based). To create a string set, use CCFXRequest::CreateStringSet.

Class methods

virtual int AddString( LPCSTR lpszString )

CCFXStringSet::AddString adds a string to the end of a list.

virtual int GetCount()

CCFXStringSet::GetCount gets the number of strings contained in a list.

virtual LPCSTR GetString( int iIndex )

CCFXStringSet::GetString gets the string located at the passed index.

virtual int GetIndexForString( LPCSTR lpszString )

CCFXStringSet::GetIndexForString gets the index for the passed string.

CCFXStringSet::AddString

Syntax

int CCFXStringSet::AddString(LPCSTR lpszString)

Description

Adds a string to the end of the list.

Returns

The index of the string that was added.

Parameters

Parameter

Description

lpszString

String to add to the list

Example

The following example demonstrates adding three strings to a string set and saving the indexes of the items that are added:

CCFXStringSet* pSet = pRequest->CreateStringSet() ; 
    int iRed = pSet->AddString( "Red" ) ; 
    int iGreen = pSet->AddString( "Green" ) ; 
    int iBlue = pSet->AddString( "Blue" ) ;

CCFXStringSet::GetCount

Syntax

int CCFXStringSet::GetCount(void)

Description

Gets the number of strings in a string set. The value can be used with CCFXStringSet::GetString to iterate over the strings in the set (recall that the index values for strings in the list begin at 1).

Returns

Returns the number of strings contained in the string set.

Example

The following example demonstrates using GetCount with CCFXStringSet::GetString to iterate over a string set and write the contents of the list back to the user:

int nNumItems = pStringSet->GetCount() ; 
    for ( int i=1; i<=nNumItems; i++ ) 
    { 
        pRequest->Write( pStringSet->GetString( i ) ) ; 
        pRequest->Write( "<BR>" ) ; 
    }

CCFXStringSet::GetIndexForString

Syntax

int CCFXStringSet::GetIndexForString(LPCSTR lpszString)

Description

Searches for a passed string. The search is case-insensitive.

Returns

If the string is found, its index within the string set is returned. If it is not found, the constant CFX_STRING_NOT_FOUND is returned.

Parameters

Parameter

Description

lpszString

String to search for

Example

The following example demonstrates a search for a string and throwing an exception if it is not found:

CCFXStringSet* pAttribs = pRequest->GetAttributeList() ; 
     
    int iDestination = pAttribs->GetIndexForString("DESTINATION") ; 
    if ( iDestination == CFX_STRING_NOT_FOUND ) 
    { 
        pRequest->ThrowException( 
            "DESTINATION attribute not found." 
            "The DESTINATION attribute is required " 
            "by this tag." ) ; 
    }

CCFXStringSet::GetString

Syntax

LPCSTR CCFXStringSet::GetString(int iIndex)

Description

Retrieves the string located at the passed index (index values are 1-based).

Returns

Returns the string located at the passed index.

Parameters

Parameter

Description

iIndex

Index of string to retrieve

Example

The following example demonstrates GetString with CCFXStringSet::GetCount to iterate over a string set and write the contents of a list back to the user:

int nNumItems = pStringSet->GetCount() ; 
    for ( int i=1; i<=nNumItems; i++ ) 
    { 
        pRequest->Write( pStringSet->GetString( i ) ) ; 
        pRequest->Write( "<BR>" ) ; 
    }