Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2009
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
Invocar Corrector ortografico de Word para edit y memos

Dentro del foro me encontre este tema en esta liga:
http://www.clubdelphi.com/foros/show...rafico+de+word

Aqui publican este codigo, pero he intentado modificarlo para varios componentes que tengo en el formulario, como son varios edits, un memo, etc, pero no lo logre, y no obtengo respuesta en esta liga. Espero alguien pueda ayudarme.

Lo que pretendo es que me revise la ortografia de los datos que introduce el usuario en el formulario, todos a la vez, es decir como lo hace word, o alguna otra manera de lograr esto..

Este es el codigo del amigo aeff:

// coloca un edit en tu form y un button y en el evento onclick del button pon esto:

Código Delphi [-]
uses ComObj, ClipBrd, ShellApi;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  WindowName: string;
  WindowHandle: Cardinal;
  WordApp, Document, Selection: OleVariant;
begin
  WordApp := CreateOleObject('Word.Application');
  Document := WordApp.Documents.Add;
  Selection := WordApp.Selection;
  Selection.TypeText(Edit1.Text);
  // Para que no salga la ventana del Word despues de revisar la gramtica/ortografia
  WindowName := WordApp.ActiveDocument.FullName + ' - ' + WordApp.Application.Caption;
  WindowHandle := 0;
  WindowHandle := FindWindow(nil, pChar(WindowName));
  SetWindowRgn(WindowHandle, CreateRectRgn(0,0,0,0), true);

  // Empezamos revisar la ortografia
  WordApp.ActiveDocument.CheckGrammar;
  Selection.WholeStory;
  Selection.Copy;
  Edit1.Text := Clipboard.AsText;
  // Mandamos a cerrar el Word con el programa TSkill
  ShellExecute(Handle, nil, 'tskill', 'winword', nil, sw_hide);
end;

Saludos
Responder Con Cita
  #2  
Antiguo 21-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Probé el código que citas y funcionó bien. Lástima que es demasiado lento. Como me picó la curiosidad, busqué "delphi corrector ortográfico" en Google y me encontré con esta página.

Ahí podrás ver ISpell - LS-Distribution y Speller.

Al parecer, hay una cosa llamada Ispell, que es un corrector ortográfico en muchos idiomas. El primer enlace es una interfaz a ese programa. El segundo es una componente para Delphi que integra el corrector. Todo gratuito.

Yo bajé e instalé ambos y probé el demo y funciona bastante bien, con la gran ventaja de que la corrección se hace sobre el mismo texto de tu aplicación. Tal como si estuvieras en Word, te va señalando las palabras incorrectas y te ofrece opciones para sustituir.

// Saludos
Responder Con Cita
  #3  
Antiguo 21-02-2009
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
Ok gracias Roman, lo probaré..
Responder Con Cita
  #4  
Antiguo 22-02-2009
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
Ya lo instale Roman, al parecer si me corre el demo que viene pero no me despliega ningun lenguaje en el combo, y si doy click en el boton pues no me hace nada, tengo delphi 7, leyendo las instrucciones instale los componentes que tienen 7, no se si se deba a que tengo office 2007.
Responder Con Cita
  #5  
Antiguo 22-02-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
uses ComObj;
 
procedure TForm1.Button1Click(Sender: TObject);
var Word, Document, Selection: OleVariant;
begin
 Word := CreateOleObject('Word.Application');
 Document := Word.Documents.Add;
 Windows.SetParent(FindWindow(nil, PChar(string(Document.FullName + ' - ' + Word.Caption))), Application.Handle);
 Selection := Word.Selection;
 Selection.Text := Memo1.Text;
 Document.CheckGrammar;
 Selection.WholeStory;
 Memo1.Text := StringReplace(Selection.Text, #13, #13#10, [rfReplaceAll]);
 Word.Quit(False);
end;

Solo una breve corrección al codigo inicial.
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #6  
Antiguo 22-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Lizette Ver Mensaje
Ya lo instale Roman, al parecer si me corre el demo que viene pero no me despliega ningun lenguaje en el combo, y si doy click en el boton pues no me hace nada, tengo delphi 7, leyendo las instrucciones instale los componentes que tienen 7, no se si se deba a que tengo office 2007.
¿Instalaste también lo del primer enlace? Tienes que instalarlo porque son los diccionarios. Y no hay que tener instalado Office; es independiente totalmente.

// Saludos
Responder Con Cita
  #7  
Antiguo 23-02-2009
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
con razón, ese no lo habia instalado. Gracias
Responder Con Cita
  #8  
Antiguo 07-04-2009
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Poder: 20
rcarrillom Va por buen camino
Vaya, casualmente revisando los mensajes nuevos descubro ésto que necesito de vida o muerte para dentro de 12 hrs, es lo único que me faltaba para un desarrollo urgente, que prescinde totalmente de M$ Office, pero que es para edición de textos y los originales fueron creados con la suite. A propósito, estoy usando las WPTools. Y que conste, nada de ribbons, wácala de pollo!
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita
  #9  
Antiguo 28-04-2010
hackcgm hackcgm is offline
Registrado
 
Registrado: ene 2010
Posts: 9
Poder: 0
hackcgm Va por buen camino
roman ya instale los dos componentes q mencionaste y ahora como lo ocupo o vinculo en un memo o en un text box para q corriga los errores o salga la ayuda de cuando el usuario va escribiendo algun texto estoy utilizando delphi 7,???????????
Responder Con Cita
  #10  
Antiguo 02-05-2010
hackcgm hackcgm is offline
Registrado
 
Registrado: ene 2010
Posts: 9
Poder: 0
hackcgm Va por buen camino
oye, ya baje los dos archivos y ya los instale, pero ahora no se como llamar los diccionarios desde delphi 7 y no se como hacer que funcione en un memo para que corriga los errores ortograficos.
espero me puedas ayudar

gracias saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
necesito enviar un dato de un edit a una campo predeterminado en word pipe Varios 1 27-07-2007 06:32:05
Spelling - Corrector Ortográfico MaMu OOP 1 13-07-2007 05:24:12
Corrector Ortografico sergio_015 Varios 2 23-03-2004 16:39:02
Corrector Ortográfico sarackganda Varios 1 19-06-2003 09:39:19


La franja horaria es GMT +2. Ahora son las 16:05:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi