ReadHWL 

2.0     

Reads a word list from a file.

int ReadHWL( HWL hwl, HFILE hfile )

Parameters

hwl

A handle to an empty word list.

hfile

A handle to a file previously opened for reading.

Return Value

Returns HRCR_OK if successful; otherwise, returns one of the following negative values:

Constant

Description

HRCR_ERROR

Invalid parameter or file or other error.

HRCR_MEMERR

Insufficient memory.

 

Comments

The words are expected as ANSI text, one word per line, followed by a carriage return and linefeed. In this context, a word can represent a phrase and contain spaces or other noncharacters, such as  New York  and  ne er-do-well.  Empty lines or lines containing only spaces or tabs are allowed but ignored.

The file that hfile refers to must already exist and be open for reading.

The hwl parameter must be the handle of an empty word list created by CreateHWL1AOBT9. If the word list is not empty, ReadHWL returns HRCR_ERROR.

Once the file is read, it can be closed immediately.

Example

The following example demonstrates how to provide a word list to constrain recognition results to the words contained in the fictitious file COUNTRY.LST:

HWL    hwlCountries = CreateHWL( NULL, NULL, WLT_EMPTY, 0L );

OFSTRUCT     ofStruct;

HFILE   hfile = OpenFile( "country.lst", &ofStruct, OF_READ );

 

if (hfile != HFILE_ERROR)

ReadHWL(hwlCountries, hfile);

_lclose(hfile);

}

else

ErrorMsg(FILEOPEN);

.

.

.

if (hrc = CreateCompatibleHRC( NULL, NULL ))

SetWordlistHRC( hrc, hwlCountries );         // Set list into HRC

SetWordlistCoercionHRC( hrc, SCH_FORCE );  // Force match

.

.     // Code that collects and recognizes input here

.

}

 

See Also

CreateHWL, WriteHWL