Spell Checker

Ollie
Posts: 233
Joined: Sat Dec 30, 2006 6:10 am

Spell Checker

Post by Ollie »

Is there a way of running a spell checker on a memo field?
Many thanks
Ollie.

Using:
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Borland C++ 5.5.1
FWH 9.04 (2009 Apr)
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Ollie,

You could check each word against a dictionary everytime the space is pressed, or just once when the text is going to be saved
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
NK
Posts: 97
Joined: Sun Nov 20, 2005 4:32 pm
Location: Germany
Contact:

Re: Spell Checker

Post by NK »

Ollie wrote:Is there a way of running a spell checker on a memo field?
Perhaps that helps you.

http://www.jbooth-consulting.com/products_speller.asp
Ollie
Posts: 233
Joined: Sat Dec 30, 2006 6:10 am

Post by Ollie »

Thanks NK - It looks promising - will try it.

Antonio - when you said "against a dictionary" did you mean a DBF file filled with words or a .DIC file?
Many thanks
Ollie.

Using:
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Borland C++ 5.5.1
FWH 9.04 (2009 Apr)
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Ollie,

>
when you said "against a dictionary" did you mean a DBF file filled with words or a .DIC file?
>

Both solutions may be fine, though you may get faster searches for words if you use a DBF (filled with words) and an index
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
reinaldocrespo
Posts: 918
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

1. Is it possible to use MS-word's speller via some kind of ActiveX?

2. Where can you obtain a dbf filled with dictionary words?

Reinaldo.
User avatar
xProgrammer
Posts: 464
Joined: Tue May 16, 2006 7:47 am
Location: Australia

Post by xProgrammer »

Reinaldo

There are possibly easier ways (to fill a dbf with dictionary words) but you could download the appropriate dictionary file from Open Office and write a little xBase program to put the words into a dbf. They are in clear text so it shouldn't be very hard to do.

Just a suggestion.

xProgrammer
User avatar
reinaldocrespo
Posts: 918
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

x;

Couldn't find the clear text dictionary for download. If you have a link or can send the dictionary over, I'd appreciate it.

reinaldo <dot> crespo <at> gmail <dot> com


Thank you.


Reinaldo.
User avatar
TimStone
Posts: 2536
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:

Spell Checking memo

Post by TimStone »

I use a 3rd party spell checker that is included in the application, and it works fine with memo fields. It is used by a wide variety of applications and is easy to implement ...

The license is royalty free for distribution.

Check it out at: www.wintertree-software.com
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
User avatar
reinaldocrespo
Posts: 918
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

Tim;

I downloaded the 30 day trial version. Would you please send me some xharb code to test the library?

reinaldocrespo at structuredsystems dot com

Thank you.

reinaldo.
User avatar
TimStone
Posts: 2536
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:

Code

Post by TimStone »

I'm sending it to your email today.

This is the spell checker you will find in many products on the market. It is very widely used.
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
norberto
Posts: 566
Joined: Thu Aug 30, 2007 3:40 pm
Location: BR

Post by norberto »

Tim, can you send to me?

norberto@windowslive.com

thanks
User avatar
TimStone
Posts: 2536
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:

Wintertree Spell Checker

Post by TimStone »

The following code is used for activating the spell checker from Wintertree:

To check a memofield useing a database object, here is a call:

REDEFINE BUTTON ID 882 of oDcl ACTION( oCli:climpd := SpellOne( oCli:climpd ), oCli:save(), oDcl:update() ) ;
MESSAGE "Check the spelling on the notes"

Here is the code for functions needed in your program:

// Declare include files
#INCLUDE "fivewin.ch"
#define HKEY_LOCAL_MACHINE 2147483650

STATIC hDLL2

FUNCTION Spellone( TxtString )
LOCAL pText := TxtString
LOCAL pTextLen, pNewLen
MEMVAR oWnd

pTextLen := LEN( pText )
pText += SPACE(250)
pNewLen := LEN ( pText )

hDLL2 := LoadLibrary( "SSCE5432.dll" )

SSCE_SetKey( 9999999999 ) // User will get a license code
SSCE_SetRegTreeName( "HKEY_LOCAL_MACHINE\SOFTWARE\Wintertree\SSCE\" )
SSCE_CheckBlockDlg( oWnd, @pText, pTextLen, pNewLen )

FreeLibrary( hDLL2 )

RETURN( pText ) // TxtString )


FUNCTION SetDict // A function to set the path in the registry ... needs a calling button or menu entry
LOCAL oReg, cName, uVar, cDicPath
cDicPath := DiskName( ) + ":\" + TRIM(CurDir( ) ) + "\"

oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Wintertree\SSCE" )
// Call Set with an empty string to access the default key
oReg:Set( "MainLexPath", cDicPath )
oReg:Set( "UserLexPath", cDicPath )
oReg:Set( "MainLexFiles", "ssceam.tlx,ssceam2.clx" )
oReg:Set( "UserLexFiles", "userdic.tlx,correct.tlx,html.tlx" )
MsgStop( "Windows registry updated!" )
oReg:Close()


RETURN NIL


DLL32 FUNCTION SSCE_SetKey( pID AS LONG ) AS LONG PASCAL LIB hDLL2 // "SSCE5432.DLL"

DLL32 FUNCTION SSCE_CheckBlockDlg( pHandle AS LONG, pText AS STRING, pTextLen AS LONG, pNewLen AS LONG ) ;
AS LONG PASCAL LIB hDLL2 // "SSCE5432.DLL"

DLL32 FUNCTION SSCE_SetRegTreeName( pRegName AS STRING ) AS LONG LIB hDLL2 // "SSCE5432.DLL"
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
User avatar
reinaldocrespo
Posts: 918
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

Tim;

I'd like to set lexicon filenames using the option to specify from ini file:
SSCE_S16 SSCE_SetMainLexPath(const char *path);
Below is my code:

Code: Select all

...
Local cDicIni	:= cFilePath( GetModuleFileName( GetInstance() ) ) + "\" + "lex.ini"

	SSCE_SetIniFile( cDicIni )

...

DLL32 FUNCTION SSCE_SetIniFile( pfilename AS STRING ) AS LONG LIB hDLL2
But get a run time error.

Can you help?

Thank you.
User avatar
reinaldocrespo
Posts: 918
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

Sorry. My mistake. All is well.

Everything works just perfectly.

BTW Tim, excellent product! Thank you very much.

Reinaldo.
Post Reply