Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Invocar Corrector ortografico de Word para edit y memos (https://www.clubdelphi.com/foros/showthread.php?t=63595)

Lizette 21-02-2009 08:33:16

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 ;)

roman 21-02-2009 19:37:05

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

Lizette 21-02-2009 23:08:40

Ok gracias Roman, lo probaré.. ;)

Lizette 22-02-2009 01:29:24

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. :confused:

cHackAll 22-02-2009 02:35:29

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.

roman 22-02-2009 17:39:36

Cita:

Empezado por Lizette (Mensaje 338953)
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. :confused:

¿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

Lizette 23-02-2009 04:14:57

:p con razón, ese no lo habia instalado. Gracias ;)

rcarrillom 07-04-2009 11:25:17

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! :D

hackcgm 28-04-2010 05:28:41

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,???????????

hackcgm 02-05-2010 04:19:48

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


La franja horaria es GMT +2. Ahora son las 23:27:35.

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