FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Acentuar automaticamente
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Acentuar automaticamente
Posted: Tue May 12, 2009 04:15 PM

Muy buenas, estoy intentando buscar alg煤n algoritmo que me pueda acentuar automaticamente pero creo que la mejor manera es que con la clase TWORD lo pase a word y las acentue y las recoja una vez hecho este proceso. 驴Sabeis algo que haga esto?

Un Saludo.

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Acentuar automaticamente
Posted: Tue May 12, 2009 04:40 PM

Softrus:

Creo que el algoritmo que buscas es muy complicado aunque no imposible, lo que hago en una aplicaci贸n es apoyarme en el verificador de ortograf铆a de WORD que aunque una chapuza me sac贸 del problema y no solo para acentur palabras sino para revisar toda la ortograf铆a.

Si te interesa podemos seguir el hilo.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Acentuar automaticamente
Posted: Tue May 12, 2009 05:09 PM

Si eso es lo que hab铆a pensado, si tienes algo por ahi para ir indicandome me har铆as un gran favor.

Un Saludo.

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Acentuar automaticamente
Posted: Tue May 12, 2009 05:42 PM
softruz:

Ah铆 te va, es un c贸digo que tambien me compartieron, no recuerdo el nombre de quien me lo envi贸 y pido disculpas por eso.

Tengo definido un Bot贸n cuya acci贸n es ir a la funci贸n SpellCheck() y le env铆o como par谩metro la variable que contiene el texto que deseo revisar (oPro:DES), como puedes apreciar la funci贸n SpellCheck me devuelve el mismo texto pero ya corregido y lo recibo en la misma variable.

Code (fw): Select all Collapse
聽 聽 REDEFINE BUTTON oOrtografia ID 903 OF oDlg CANCEL;
聽 聽 聽 聽 ACTION (oPro:DES := SpellCheck(oPro:DES),oDlg:Update());
聽 聽 聽 聽 MESSAGE "Revisa la ortograf铆a de la descripci贸n del proyecto"


Y esta es la funci贸n SpellCheck

Code (fw): Select all Collapse
/*
* --------------------------------------------------------------------------*
* --------------------------------------------------------------------------*
*/
STATIC FUNCTION SpellCheck(Texto)
LOCAL oWord,oDoc,oTexto
LOCAL cText:=Texto

oWord:=TOleAuto():New( "Word.Application" )
oWord:Visible := .F.
oWord:Documents:Add()
oDoc := oWord:Get("ActiveDocument")

oTexto := oWord:Selection()
oTexto:Text := Texto

oDoc:CheckSpelling()

cText := oTexto:Text

oDoc:Close(0)
oWord:Quit()
oTexto:=NIL
oDoc:=NIL
oWord:=NIL

IF ! EMPTY(cText) // si cancelamos en el chequeo de ortografia, nos devuelve una cadena vacia
聽 聽 Texto := cText
ENDIF
RETURN(Texto)


Espero te sirva o al menos te de la idea de como salir del paso.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Acentuar automaticamente
Posted: Tue May 12, 2009 05:53 PM

Muchas gracias lo pruebo y te comento.

Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Acentuar automaticamente
Posted: Wed May 13, 2009 12:59 AM

Hola,
se me ocurre una funcion que maneje las reglas de ortografia,,, a ver,,,
x regla,, se acentuan las palabras que termian en "ion"
xpos := AT("on", cpalabra)
If xpos > 0
cpalabra := STRTRAN(cpalabra , "on","贸n")
endif
..
.
es una idea

Salu2

Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Acentuar automaticamente
Posted: Wed May 13, 2009 08:29 AM

Me podr铆an decir 驴como puedo conseguir que automaticamente coja la primera coincidencia y la suplante por la palabra mal escrita? y as铆 tener una correcci贸n automatica.

Un Saludo.

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: Acentuar automaticamente
Posted: Wed May 13, 2009 09:11 PM
softruz wrote:Me podr铆an decir 驴como puedo conseguir que automaticamente coja la primera coincidencia y la suplante por la palabra mal escrita? y as铆 tener una correcci贸n automatica.

Un Saludo.


podr铆an utilizar algo as铆 (es al vuelo):

Code (fw): Select all Collapse
function corrige( cTexto )
   strtran( cTexto, "ion ", "i贸n " )
return cNuevo


Claro est谩 que hay que ir aplicando las reglas adicionales, se complicar谩n en algunas, pero es un avance...

espero sea de ayuda.
William, Morales

Saludos



m茅xico.sureste
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Acentuar automaticamente
Posted: Thu May 14, 2009 07:17 AM

Es un buen avance pero lo que me interesa es que cuando entra en la correcci贸n autom谩tica coja la primera coincidencia por defecto y que no me pregunte nada, 驴hay algo parecido?

Un Saludo.

Continue the discussion