Spell Checker

Spell Checker

Postby Ollie » Thu Jul 26, 2007 9:56 am

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)
Ollie
 
Posts: 233
Joined: Sat Dec 30, 2006 6:10 am

Postby Antonio Linares » Thu Jul 26, 2007 10:37 am

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
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Spell Checker

Postby NK » Thu Jul 26, 2007 11:19 am

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
User avatar
NK
 
Posts: 97
Joined: Sun Nov 20, 2005 4:32 pm
Location: Germany

Postby Ollie » Thu Jul 26, 2007 2:36 pm

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)
Ollie
 
Posts: 233
Joined: Sat Dec 30, 2006 6:10 am

Postby Antonio Linares » Thu Jul 26, 2007 6:20 pm

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
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby reinaldocrespo » Mon Jul 30, 2007 4:59 pm

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
reinaldocrespo
 
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Postby xProgrammer » Wed Aug 01, 2007 12:00 pm

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
xProgrammer
 
Posts: 464
Joined: Tue May 16, 2006 7:47 am
Location: Australia

Postby reinaldocrespo » Wed Aug 01, 2007 7:12 pm

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
reinaldocrespo
 
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Spell Checking memo

Postby TimStone » Wed Aug 01, 2007 7:40 pm

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
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2945
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Postby reinaldocrespo » Fri Jan 18, 2008 4:12 pm

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
reinaldocrespo
 
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Code

Postby TimStone » Fri Jan 18, 2008 4:45 pm

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
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2945
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Postby norberto » Fri Jan 18, 2008 7:02 pm

Tim, can you send to me?

norberto@windowslive.com

thanks
norberto
 
Posts: 566
Joined: Thu Aug 30, 2007 3:40 pm
Location: BR

Wintertree Spell Checker

Postby TimStone » Fri Jan 18, 2008 7:16 pm

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
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2945
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Postby reinaldocrespo » Fri Jan 18, 2008 10:06 pm

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  Expand view  RUN
...
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: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Postby reinaldocrespo » Fri Jan 18, 2008 10:52 pm

Sorry. My mistake. All is well.

Everything works just perfectly.

BTW Tim, excellent product! Thank you very much.

Reinaldo.
User avatar
reinaldocrespo
 
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 35 guests