Spell Checker
Spell Checker
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.
Using:
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Borland C++ 5.5.1
FWH 9.04 (2009 Apr)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Spell Checker
Perhaps that helps you.Ollie wrote:Is there a way of running a spell checker on a memo field?
http://www.jbooth-consulting.com/products_speller.asp
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
- xProgrammer
- Posts: 464
- Joined: Tue May 16, 2006 7:47 am
- Location: Australia
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
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
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
Spell Checking memo
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
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
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
Code
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.
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
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
Wintertree Spell Checker
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"
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
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
Tim;
I'd like to set lexicon filenames using the option to specify from ini file:
But get a run time error.
Can you help?
Thank you.
I'd like to set lexicon filenames using the option to specify from ini file:
Below is my code:SSCE_S16 SSCE_SetMainLexPath(const char *path);
Code: Select all
...
Local cDicIni := cFilePath( GetModuleFileName( GetInstance() ) ) + "\" + "lex.ini"
SSCE_SetIniFile( cDicIni )
...
DLL32 FUNCTION SSCE_SetIniFile( pfilename AS STRING ) AS LONG LIB hDLL2
Can you help?
Thank you.
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL