Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-06-2004
korrekami korrekami is offline
Registrado
 
Registrado: jun 2004
Posts: 1
Poder: 0
korrekami Va por buen camino
consejos de mejora al supercompo, para que no tenga problemas de versiones en DELPHI

Bueno, aqui va, es que yo cuando me he enfrentado a este componente, que me ha parecido genial, he tenido una serie de problemas en el metodo Open, porque yo cuando instale delphi lo hize para Office97 y este componente parece que requiere la BPL de XP, pero bueno todo empezo a darme problemas, hacia el open y al connectar con Word se me bloqueaba la aplicacion, se me quedaba WORD residente en memoria consumiendo en 97% de los recursos de sistema, etc... pues nada, mostrare aqui como he sustituido el metodo Open y los cambios que esto me supuso en el resto del componente.

Código Delphi [-]
procedure TWordParaTorpes.Open;
var
  DOCFileName,NewDOCFileName,ItemIndex:OleVariant;
begin
  NewDOCFileName := True;
  if FFileName<>'' then  DOCFileName := FFileName;
  WordApplication:= CreateOleObject('Word.Application');
//TWordApplication.Create(self);
  Doc:= WordApplication.Documents.Add(DOCFileName);//TWordDocument.Create(self);
  ParaFmt:= TWordParagraphFormat.Create(self);
//  WordFont:= TWordFont.Create(self);
  DOCFileName := EmptyParam;
  ItemIndex := 1;
  {try
    Wordapplication.Connect;
  except
    MessageDlg(sWordIsNotInstalled, mtError, [mbOk], 0);
    Abort;
  end; }
  try
    WordApplication.Caption := Caption;
    // Crear un nuevo documento
    NewDOCFileName := False;
    Wordapplication.Visible := True;    
   // Doc.ConnectTo(WordApplication.Documents.Item(ItemIndex));
    WordApplication.Options.CheckSpellingAsYouType := False;  //Desactivar comprobacion de ortografia
    WordApplication.Options.CheckGrammarAsYouType := False;
    ChangeFont;
  except
    on E: Exception do begin
      ShowMessage(E.Message);
      WordApplication.Disconnect;
    end;
  end;
end;

pero este cambio me llevo a dos cosas, una a tener que todas las variables de tipo RANGE, etc.. sustituirlas por OleVariant, pero bueno todo lo demas seguia funcionando bien, y cuando se hacia un BookMark para cambiar el texto, el metodo Set_Text tenia que sustituirlo por Text := loquesea

Otra de las pegas que encontre es que el ChangeFont ya no funcionaba, asi que lo elimine, pero tiene que funcionar de alguna forma, pero bueno, se lo dejo a alguien, no todo va a ser para mi claro, que no termine de probar todos los metodos, pero por lo menos error de compilacion no me daba.

Otro de los cambios que hizce fue en el Reemplace, lo hize tal que asi

Código Delphi [-]
    WordApplication.Selection.Find.ClearFormatting;
    WordApplication.Selection.Find.Text := '<<' + BookmarkName + '>>';
    WordApplication.Selection.Find.Replacement.Text := text;
    WordApplication.Selection.Find.Forward := True;
    WordApplication.Selection.Find.Wrap := wdFindContinue;
    WordApplication.Selection.Find.Format := False;
    WordApplication.Selection.Find.MatchCase := false;
    WordApplication.Selection.Find.MatchWholeWord := False;
    WordApplication.Selection.Find.MatchWildcards := false;
    WordApplication.Selection.Find.MatchSoundsLike := False;
    WordApplication.Selection.Find.MatchAllWordForms := False;
    WordApplication.Selection.Find.Execute(Replace := wdReplaceAll);
difiere un poco, pero hace exactamente lo mismo. seria cuestion de parametrizar todas las opciones de Buscar y Remplazar, porque aqui van todas puestas por defecto.

Por lo demas me funciona todo perfectamente, de hecho me ahorro muchisimo trabajo, GRACIAS Nailuj!! espero que de esta forma, ahora ya no sea necesario que envies la BPL ni el TLB, asi sera mucho mas optimo independientemente de la version de Word que se tenga instalada, tanto en el equipo como el Delphi.

Ale animaros todos!!!

Última edición por Nuria fecha: 15-06-2004 a las 13:50:28. Razón: poner las etiquetas de delphi para que se vea más claro el código
Responder Con Cita
  #2  
Antiguo 15-06-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 24
Nuria Va por buen camino
Hola Korrekami!

Lo primero darte las gracias por poner el código.

Como veo que eres nuevo quería comentarte que he modificado tú mensaje, he puesto las etiquetas de delphi para que se vea más claro tú código, te recomiendo que la próxima vez las utilices, se verá mucho más claro.

Nada más que eso y animarte a que sigas participando.

Un saludo!
Responder Con Cita
  #3  
Antiguo 24-08-2004
walace_soy walace_soy is offline
Miembro
 
Registrado: may 2003
Ubicación: La Laguna (Tenerife)
Posts: 88
Poder: 24
walace_soy Va por buen camino
componente utilizacion

buenas, respecto al componente aun no se como funciona, solo decirte que te envie un mensaje al correo que tenias para que pusieras el codigo fuente y no me hiciste ningun caso, ahora que veo que lo has puesto, voy a ver si lo miro y consigo hacer algo con el. Yo utilizo la unidad MailMerge que esta bastante bien, no me ha dado muchos problemas y con unas pocas modificaciones he conseguido que funcione en todos los office que hay (97,2000,xp,2003), pero sigue un poco lento no va mal pero un poco lento. Voy a ver si puedo utilizar tu componente ya te escribire algo, pero pon una direccion de correo que utilizes no la de tocame.....
Yo utilizo el word para toda la aplicacion, ya no hago nada con qreport ni ningún rport y si alguien quiere podemos formar un grupo para potenciar el componente y hacer una herramienta potente, no tengo mucha idea de programar componentes, pero quien dijo miedo... espero vuestras respuestas gracias.
Por cierto yo utilizo la opcion de combinación de correspondencia para unir la base de datos de mi programa con word y poder imprimir cualquier tipo de formato que creen con datos, si tengo tiempo a ver si puedo añadirte esta opcion al componente para que puedas tener mas facilidades de combinar datos.

Última edición por walace_soy fecha: 24-08-2004 a las 10:00:44.
Responder Con Cita
  #4  
Antiguo 25-08-2004
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.031
Poder: 10
Julián Va por buen camino
Jau!

Cita:
Empezado por walace_soy
.. te envie un mensaje al correo que tenias para que pusieras el codigo fuente y no me hiciste ningun caso...
Seguro que no te hice caso, pero es que recibí mas de 2000 mensajes de correo, y los fuí guardando todos sin leer (lo tendré por ahí) pues la verdad es que no tengo nada de tiempo.




Cita:
Empezado por walace_soy
.. Voy a ver si puedo utilizar tu componente ya te escribire algo, pero pon una direccion de correo que utilizes no la de tocame...
Mejor no me escribas al correo (excepto si eres una tía y estas buena), pues seguro que no podré contestar.
Ademas, yo ya no uso el word, y casi tampoco el delphi, por lo que poco podré aportar. Este componente a mi ya me ha prestado un buen servicio, y el poner el codigo fuente ha sio por si os sirve a alguien; Si las cosas que se os ocurran las vais poniendo aquí, siempre habrá alguien que las pueda cojer e integrar en una nueva versión del componente. Espero no tener que ser yó

¡taluegorl!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #5  
Antiguo 25-08-2004
walace_soy walace_soy is offline
Miembro
 
Registrado: may 2003
Ubicación: La Laguna (Tenerife)
Posts: 88
Poder: 24
walace_soy Va por buen camino
pues vaya

pues vaya tela, y yo que pensaba que la cosa iria para mas, bueno pues nada ya me montare yo las cosas por mi cuenta total.

si hago alguna modificacion pues intentare ponerla aqui.

gracias ciao.
Responder Con Cita
  #6  
Antiguo 18-02-2005
Alfredo Alfredo is offline
Miembro
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 23
Alfredo Va por buen camino
Curiosida ¿?

Julian escribio:

Cita:
Ademas, yo ya no uso el word, y casi tampoco el delphi, por lo que poco podré aportar
Por favor, tengo curiosidad, si eres tan amable ¿ En que estas programando?
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
Responder Con Cita
  #7  
Antiguo 18-02-2005
walace_soy walace_soy is offline
Miembro
 
Registrado: may 2003
Ubicación: La Laguna (Tenerife)
Posts: 88
Poder: 24
walace_soy Va por buen camino
a quien le has preguntado????

hola a quien le has preguntado lo de en que trabajas?

si es a mi en Delphi.
Responder Con Cita
  #8  
Antiguo 19-02-2005
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.031
Poder: 10
Julián Va por buen camino
Cita:
Empezado por Alfredo
Julian escribio:
Por favor, tengo curiosidad, si eres tan amable ¿ En que estas programando?
Pues en PHP, que no me da misteriosos "access violations" ni enigmaticos "internal errors" y ademas su ide (editplus unas vecs y el vi otras) es mucho mas barato que el delphi

Aunque sigo teniando nstalo el delphi7 personal, que tb es gratis, para el desarrollo del ajedrezCHAT

¡saludos!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
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


La franja horaria es GMT +2. Ahora son las 18:15:29.


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