<HTML>
<HEAD>
<TITLE>Re: DRAFT of specification if Indexing By words for strings.</TITLE>
</HEAD>
<BODY>
<FONT FACE="Verdana">On 9/22/04 4:16 PM, "Ruslan Zasukhin" <sunshine@public.kherson.ua> wrote:<BR>
<BR>
<FONT COLOR="#008000">>> I think the ability to let developers specify certain index<BR>
>> properties would be very powerful, and I'm sure that many other uses<BR>
>> would be found for this (other than my issue about sorting). One<BR>
>> minor point, since you would want this to be extensible, would be to<BR>
>> name the methods something like this: .AddIgnoreWord,<BR>
>> .DeleteIgnoreWord, and .DeleteAllIgnoreWords.<BR>
</FONT><BR>
This is what I have made in C++<BR>
<BR>
/**<BR>
If some Vstring or VarChar or VText field has option IndexByWords is TRUE,<BR>
then this class can specify additional parameters for its index. <BR>
This parameters allow to developer/user better control the full text indexing.<BR>
<BR>
This parameters have no affect if option IndexByWords is FALSE.<BR>
*/<BR>
interface I_IndexStrPrefs : public I_Unknown<BR>
{<BR>
// ---------------------<BR>
// Construction:<BR>
<BR>
virtual ~I_IndexStrPrefs( void ) {} <BR>
<BR>
<BR>
// ---------------------<BR>
// Properties:<BR>
<BR>
// <Name><BR>
<BR>
//! returns the name of this object.<BR>
virtual const String& get_Name( void ) const throw() = 0; <BR>
<BR>
//! @error NameNotUnique. <BR>
virtual void put_Name( const String& inNewName ) = 0; <BR>
<BR>
// <IgnoreLength> <BR>
<BR>
//! All words with length less or equal to this length<BR>
//! will be ignored by String Index with ByWords option.<BR>
virtual ulong get_IgnoreLength( void ) const throw() = 0; <BR>
virtual void put_IgnoreLength( ulong inValue ) throw() = 0; <BR>
<BR>
<BR>
// <IgnoreWordsCount> [r/o]<BR>
<BR>
virtual ulong get_IgnoreWordsCount( void ) const throw() = 0; <BR>
<BR>
<BR>
// <IsIgnoreWord> [r/w]<BR>
<BR>
virtual bool get_IsIgnoreWord( <BR>
String& inWord ); <BR>
<BR>
<BR>
// ---------------------<BR>
// Methods:<BR>
<BR>
/** Add the specified word to the list IgnoreWords.<BR>
@param inWord a word you want to add to the list. */<BR>
virtual void AddIgnoreWord( <BR>
String& inWord ) = 0; <BR>
<BR>
virtual void DeleteIgnoreWord( <BR>
String& inWord ) = 0; <BR>
<BR>
virtual void DeleteAllIgnoreWords( void ) = 0; <BR>
<BR>
};<BR>
<BR>
<BR>
<BR>
-- <BR>
Best regards,<BR>
Ruslan Zasukhin [ I feel the need...the need for speed ]<BR>
-------------------------------------------------------------<BR>
e-mail: ruslan@paradigmasoft.com<BR>
web: http://www.paradigmasoft.com<BR>
<BR>
To subscribe to the Valentina mail list go to:<BR>
http://lists.macserve.net/mailman/listinfo/valentina<BR>
-------------------------------------------------------------<BR>
</FONT>
</BODY>
</HTML>