Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por jachguate
Hola.

Por favor, el código que has puesto es ilegible!.

¿Podrías encerrarlo en la etiqueta [delphi]?

¿no sabes como se usa? mirá en mi firma el enlace a la etiqueta [code], el uso de la etiqueta delphi es exactamente el mismo.

Hasta luego.

Pues resulta que sí ha usado la etiqueta [delphi]. Lo que ocurre es que hay un bug en este foro que hace que, al pulsar el botón "Vista Previa de Mensaje" el bloque se va al traste...

Aun así, si se edita el mensaje y se colocan de nuevo las etiquetas, se verá bien.
Responder Con Cita
  #2  
Antiguo 11-10-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
Código Delphi [-]usesComObj;// Replace FlagstypeTWordReplaceFlags = set of (wrfReplaceAll, wrfMatchCase, wrfMatchWildcards);function Word_StringReplace(ADocument: TFileName; SearchString, ReplaceString: string; Flags: TWordReplaceFlags): Boolean;constwdFindContinue = 1; wdReplaceOne = 1; wdReplaceAll = 2; wdDoNotSaveChanges = 0; varWordApp: OLEVariant;beginResult := False;{ Check if file exists }if not FileExists(ADocument) then begin ShowMessage('Specified Document not found.'); Exit; end;{ Create the OLE Object }tryWordApp := CreateOLEObject('Word.Application');except on E: Exception do begin E.Message := 'Word is not available.';raise;end;end;try{ Hide Word }WordApp.Visible := False;{ Open the document }WordApp.Documents.Open(ADocument);{ Initialize parameters}WordApp.Selection.Find.ClearFormatting; WordApp.Selection.Find.Text := SearchString; WordApp.Selection.Find.Replacement.Text := ReplaceString; WordApp.Selection.Find.Forward := True; WordApp.Selection.Find.Wrap := wdFindContinue; WordApp.Selection.Find.Format := False; WordApp.Selection.Find.MatchCase := wrfMatchCase in Flags; WordApp.Selection.Find.MatchWholeWord := False; WordApp.Selection.Find.MatchWildcards := wrfMatchWildcards in Flags; WordApp.Selection.Find.MatchSoundsLike := False; WordApp.Selection.Find.MatchAllWordForms := False; { Perform the search}if wrfReplaceAll in Flags thenWordApp.Selection.Find.Execute(Replace := wdReplaceAll)elseWordApp.Selection.Find.Execute(Replace := wdReplaceOne);{ Save word }WordApp.ActiveDocument.SaveAs(ADocument);{ Assume that successful }Result := True;{ Close the document }WordApp.ActiveDocument.Close(wdDoNotSaveChanges);finally{ Quit Word }WordApp.Quit; WordApp := Unassigned; end;end;


Ahi esta, pero no se pk no salio bien, pk puse el codigo dentro de las etiquetas y no es la primera vez que envio mensajes para consultar algo. En la vista previa de mensaje me salio bien en la ocasion anterior y despues miren como salio. Vamos a ver en esta.
Responder Con Cita
  #3  
Antiguo 11-10-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
lo siento, salio mal nuevamente, el problema no es mio, sino de las etiquetas. Parece que no soporta texto muy largo, vamos a ver si cortado por partes me lo acepta:

Primera parte:
Código Delphi [-]
uses
  ComObj;

// Replace Flags
type
  TWordReplaceFlags = set of (wrfReplaceAll, wrfMatchCase, wrfMatchWildcards);

function Word_StringReplace(ADocument: TFileName; SearchString, ReplaceString: string; Flags: TWordReplaceFlags): Boolean;
const
  wdFindContinue = 1;
  wdReplaceOne = 1;
  wdReplaceAll = 2;
  wdDoNotSaveChanges = 0;
var
  WordApp: OLEVariant;
begin
  Result := False;

  { Check if file exists }
  if not FileExists(ADocument) then
  begin
    ShowMessage('Specified Document not found.');
    Exit;
  end;

  { Create the OLE Object }
  try
    WordApp := CreateOLEObject('Word.Application');
  except
    on E: Exception do
    begin
      E.Message := 'Word is not available.';
      raise;
    end;
  end;
 

Segunda parte:

Código Delphi [-]
try
    { Hide Word }
    WordApp.Visible := False;
    { Open the document }
    WordApp.Documents.Open(ADocument);
    { Initialize parameters}
    WordApp.Selection.Find.ClearFormatting;
    WordApp.Selection.Find.Text := SearchString;
    WordApp.Selection.Find.Replacement.Text := ReplaceString;
    WordApp.Selection.Find.Forward := True;
    WordApp.Selection.Find.Wrap := wdFindContinue;
    WordApp.Selection.Find.Format := False;
    WordApp.Selection.Find.MatchCase := wrfMatchCase in Flags;
    WordApp.Selection.Find.MatchWholeWord := False;
    WordApp.Selection.Find.MatchWildcards := wrfMatchWildcards in Flags;
    WordApp.Selection.Find.MatchSoundsLike := False;
    WordApp.Selection.Find.MatchAllWordForms := False;
    { Perform the search}
    if wrfReplaceAll in Flags then
      WordApp.Selection.Find.Execute(Replace := wdReplaceAll)
    else
      WordApp.Selection.Find.Execute(Replace := wdReplaceOne);
    { Save word }
    WordApp.ActiveDocument.SaveAs(ADocument);
    { Assume that successful }
    Result := True;
    { Close the document }
    WordApp.ActiveDocument.Close(wdDoNotSaveChanges);
  finally
    { Quit Word }
    WordApp.Quit;
    WordApp := Unassigned;
  end;
end;
 

Veamos ahora
Responder Con Cita
  #4  
Antiguo 11-10-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
Quiero hacer un recuento de todo, para los que estan viendo este tema por primera vez. Tengo una funcion de replace en word que me funciona perfectamente, lo que no encuentro es la manera de mandar a imprimir. Publique el codigo en el mensaje anterior a este, para que si alguien a trabajado con un codigo parecido o tiene alguna idea de como mandar a imprimir, por favor me pueda explicar.

Disculpen lo estrambotico de los mensajes del tema, pero es que parece que las etiquetas no aceptan demasiado texto y me salio de esa manera. Tuve que dividirlo en dos partes para que saliera legible.
Responder Con Cita
  #5  
Antiguo 11-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola.

Por favor, explicame cómo es que haces fallar a la etiqueta delphi, pues he realizado pruebas, incluso con unidades completas de código y ha funcionado de maravilla, tanto al hacer una "vista previa de Mensaje" como al publicar el post.

En concreto, he probado metiendole las unidades:
  • SHFolder.pas, 3,762 caracteres, 94 líneas.
  • ObjComAuto.pas, 13,828 caracteres, 417 líneas
  • OpenGL.pas, 149,688 caracteres, 3,548 líneas: obtuve un mensaje de error indicando que el mayor texto que puede enviarse es de 20,000 caracteres, así que lo reduje a mas o menos esa cantidad y todo funcionó ok.

En todos los casos, como ya dije, ha funcionado perfecto.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 11-10-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
el mensaje que envie dividido las etiquetas en dos, ese mensaje completo sin dividir fue que me dio el fallo.

aunque antes de publicarlo entraba a vista previa
no se si enviandolo sin entrar a vista previa deja de fallar o si el fallo esta ahi
Responder Con Cita
  #7  
Antiguo 11-10-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Carliviris
el mensaje que envie dividido las etiquetas en dos, ese mensaje completo sin dividir fue que me dio el fallo.

aunque antes de publicarlo entraba a vista previa
no se si enviandolo sin entrar a vista previa deja de fallar o si el fallo esta ahi
A mi me falla siempre que uso primero "Vista Previa".

[nota] Creo que algún moderador debería dividir este hilo en dos (si se puede): uno para el problema con Word y el otro sobre el supuesto bug en las etiquetas.
Responder Con Cita
  #8  
Antiguo 11-10-2006
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Coincido con Ñuño! A mi tambien me pasa que en la vista previa se ven bien las etiquetas de codigo delphi pero al colocar el mensaje "desaparecen".

Saludos
Responder Con Cita
  #9  
Antiguo 11-10-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
si, lo que pasa es que parece que no estan familiarizados con ese codigo, porque hay muchas formas de hacer replace en word
yo sigo intentando por otro lado y buscando soluciones
si encuentran alguna que podria ser, por favor publiquenla
Responder Con Cita
Respuesta



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
Imprimir y Cerrar Word yorllito Servers 2 18-05-2006 02:33:53
Al imprimir docs.word con shellexecute..... Javier_A OOP 4 18-01-2006 16:59:22
"Word no envia la orden de imprimir de mi impresora" karekano85 Servers 0 09-12-2005 23:25:11
modificar documento word sin el word instalado joaquinmol Servers 0 30-03-2005 19:58:54
Imprimir con word en impresora en concreto Firibiri Servers 0 07-10-2003 11:09:09


La franja horaria es GMT +2. Ahora son las 12:15:46.


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