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 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Eliminar marcas de formato rtf

Un saludo a todos:
Necesito saber cómo se hace para que al cargar un archivo rtf en un RichEdit no se visualicen los caracteres propios del formato rtf al comienzo de la página.
Por ej.

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}{\f1\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang3082\f0\fs16 Listado de Enrique\f1
\par

Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 25-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Existen utilidades que lo hacen, normalmente se llamaran "rtf2txt" o también "rtftotxt", por ejemplo,

Aquí uno free: http://www.brothersoft.com/rtf2txt-61949.html

Fíjate, un programilla basic de msdos que dice hacer eso mismo que quieres, puede que te sirva de algo:

Código:
RTF2TXT.BAT - RTF to Text file converter

  A program born out of a simple need, to read a Rich Text Format document. This batch creates and runs a QBasic program that converts the RTF file to plain text. Changes "\par" to newline, "\tab" to tab, all other words beginning with "\" are ignored. Newlines in the source file are ignored. To get rid of the header junk, "{" turns off the output stream until a "}" comes along. 
 Usage: RTF2TXT infile.rtf outfile.txt 
 
 
:: (updated) Cheezy RTF-to-Text converter batch 
:: by Terry Newton. Needs QBASIC "on the path"
@echo off
if .%2==. echo Usage: Usage: RTF2TXT infile.rtf outfile.txt
if .%2==. goto end
if not exist %1 echo File not found
if not exist %1 goto end
echo Converting RTF to text...
echo> rtf2-.bas :on error goto x
echo>>rtf2-.bas open "%1" for input as #1:open "rtf2-" for output as #2
echo>>rtf2-.bas f:a$=input$(1,1):c$=""
echo>>rtf2-.bas if a$=chr$(13) or a$=chr$(10) then goto f
echo>>rtf2-.bas if a$="{" then skip=1:goto f
echo>>rtf2-.bas if a$="}" then skip=0:goto f
echo>>rtf2-.bas if skip then goto f
echo>>rtf2-.bas if (a$="\")=0 then goto o
echo>>rtf2-.bas g:a$=input$(1,1):if (a$=" ")=0 then c$=c$+a$:goto g
echo>>rtf2-.bas if c$="par" then print #2,""
echo>>rtf2-.bas if c$="tab" then print #2,chr$(9);
echo>>rtf2-.bas goto f
echo>>rtf2-.bas o:print #2,a$;:goto f
echo>>rtf2-.bas x:close #1:close #2:resume ww
echo>>rtf2-.bas ww:on error goto done
echo>>rtf2-.bas open "rtf2-" for input as #1:open "%2" for output as #2
echo>>rtf2-.bas lm:line input #1, a$:if a$="" then print #2,"":goto lm
echo>>rtf2-.bas l0:t=0:p=instr(a$,chr$(9)):if sgn(77-p)-(p=0)=1 then t=8
echo>>rtf2-.bas p=77-t:if sgn(p-len(a$)+1)=1 then print #2,a$:goto lm
echo>>rtf2-.bas l1:if mid$(a$,p,1)=" " then goto c
echo>>rtf2-.bas p=p-1:if p=0 then print #2,a$:goto lm else goto l1
echo>>rtf2-.bas c:print #2,left$(a$,p-1):a$=right$(a$,len(a$)-p):goto l0
echo>>rtf2-.bas done:close #1:close #2:system
qbasic /run rtf2-.bas
del rtf2-.bas
del rtf2-
:end
Seguro que encuentras algún componente que lo hace.
Responder Con Cita
  #3  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No me queda claro si lo que quieres es "cargarlo" o "convertirlo".
Para convertirlo y obtener el texto sin los caracteres del formato, pues tal y como te ha dicho Casimiro.

Para cargarlo únicamete (en ejecución) debes usar:

Código Delphi [-]
  RichEdit1.Lines.LoadFromFile('r:\test.rtf');
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
No me queda claro si lo que quieres es "cargarlo" o "convertirlo".
Para convertirlo y obtener el texto sin los caracteres del formato, pues tal y como te ha dicho Casimiro.

Para cargarlo únicamete (en ejecución) debes usar:

Código Delphi [-]
  RichEdit1.Lines.LoadFromFile('r:\test.rtf');
Gracias por la respuesta Neftali.
Efectivamente lo que quiero es simplemente cargarlo.
Intento hacer lo que me indicas y me da un mensaje de error:

"El sistema no puede halla la ruta especificada"

Aclaro que el archivo está en la carpeta del programa en cuestión.
¿Alguna sugerencia?
Muchas gracias
Hasta pronto
Responder Con Cita
  #5  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por esocrates Ver Mensaje
"El sistema no puede halla la ruta especificada"
Aclaro que el archivo está en la carpeta del programa en cuestión.
Tiene pinta de que el path es incorrecto.
¿Qué path estás colocando?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Tiene pinta de que el path es incorrecto.
¿Qué path estás colocando?
El archivo listado.rtf está en la carpeta del programa.
Lo llamo mediante:
Código:
RichEdit1.Lines.LoadFromFile('r:\listado.rtf');
Me da este mensaje:
"Cannot open file 'listado.rtf'. El sistema no puede hallar la ruta especificada"

Un saludo

Última edición por esocrates fecha: 25-06-2010 a las 14:56:36.
Responder Con Cita
  #7  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pon la ruta completa del fichero RTF como parámetro.
Mi fichero RTF está en: r:\Test.rtf

Coloca entre comillas el path completo donde se encuentra tu fichero.
Por ejemplo:

RichEdit1.Lines.LoadFromFile('c:\documentos\listado.rtf');
o
RichEdit1.Lines.LoadFromFile('c:\Archivos de programa\MiApp\listado.rtf');
...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Pon la ruta completa del fichero RTF como parámetro.
Mi fichero RTF está en: r:\Test.rtf

Coloca entre comillas el path completo donde se encuentra tu fichero.
Por ejemplo:

RichEdit1.Lines.LoadFromFile('c:\documentos\listado.rtf');
o
RichEdit1.Lines.LoadFromFile('c:\Archivos de programa\MiApp\listado.rtf');
...
Hola Neftali:
De esa manera lo carga pero mostrando los caracteres que señalo en la pregunta, que son los que no quiero que se vean.
Gracias por tu ayuda
Responder Con Cita
  #9  
Antiguo 25-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner la propiedad "plaintext" a false. Del ritchedit
Responder Con Cita
  #10  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por esocrates Ver Mensaje
Hola Neftali:
De esa manera lo carga pero mostrando los caracteres que señalo en la pregunta, que son los que no quiero que se vean.
Gracias por tu ayuda

Algo tienes mal, porque yo lo cargo de esa manera y me lo carga perfectamente en ejecución.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Algo tienes mal, porque yo lo cargo de esa manera y me lo carga perfectamente en ejecución.
Es posible que yo tenga un error de concepto.
El archivo que llamo ha sido hecho con WordPad y guardado como rtf. Entonces se carga pero muestra los caracteres de formato.
Si hago un archivo con mi aplicación lo guardo y lo cargo esto no sucede.
Se me ocurre que este puede ser el problema.
Muchas gracias
Responder Con Cita
  #12  
Antiguo 25-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por esocrates Ver Mensaje
Es posible que yo tenga un error de concepto.
El archivo que llamo ha sido hecho con WordPad y guardado como rtf. Entonces se carga pero muestra los caracteres de formato.
Si hago un archivo con mi aplicación lo guardo y lo cargo esto no sucede.
Se me ocurre que este puede ser el problema.
Muchas gracias
¿Has leído lo que he puesto antes?
Responder Con Cita
  #13  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Has leído lo que he puesto antes?
Hola Casimiro Notevi:
Sí lo he leído.
plaintext =false
Un saludo
Responder Con Cita
  #14  
Antiguo 25-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues entonces, sólo puedo citar las palabras de Neftalí:

Cita:
Empezado por Neftali Ver Mensaje
Algo tienes mal, porque yo lo cargo de esa manera y me lo carga perfectamente en ejecución.

¿Puedes poner el fichero que lo probemos?
Responder Con Cita
  #15  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues entonces, sólo puedo citar las palabras de Neftalí:




¿Puedes poner el fichero que lo probemos?
Hasta ahora consigo cargar archivos rtf escritos en cualquier editor menos un archivo que fue escrito en Microsoft Word 2003 guardado como doc y luego convertido desde Word a rtf que se carga pero muestra los caracteres de rtf que muestro en el primer post.
No puedo adjuntar el archivo porque pesa 0.75 MB
Un saludo y gracias

Última edición por esocrates fecha: 25-06-2010 a las 16:20:13. Razón: No puedo adjuntar archivo
Responder Con Cita
  #16  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Está claro que lo que está funcionando mal es la conversión que estás haciendo o tu versión de Office.
Yo he probado (te adjunto el proyecto) con un documento generado con el WordPad, otro generado con OpenOffice y otro generado con MS Word y los tres los abre sin problemas.
Archivos Adjuntos
Tipo de Archivo: zip OpenRTF File.zip (5,8 KB, 7 visitas)
Tipo de Archivo: zip OpenRTF File.rar.zip (4,9 KB, 5 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #17  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Está claro que lo que está funcionando mal es la conversión que estás haciendo o tu versión de Office.
Yo he probado (te adjunto el proyecto) con un documento generado con el WordPad, otro generado con OpenOffice y otro generado con MS Word y los tres los abre sin problemas.
Te adjunto un archivo problema
Muchas gracia spor tu ayuda

Última edición por esocrates fecha: 01-07-2010 a las 16:49:06.
Responder Con Cita
  #18  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por esocrates Ver Mensaje
Te adjunto un archivo problema
Muchas gracia spor tu ayuda
El programa con el archivo problema
Delphi 7
Responder Con Cita
  #19  
Antiguo 25-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Vale!
Está claro que en este caso el problema es el tamaño.

El fichero tiene formato correcto, pero parece que es demasiado grande para el componente estandard de Delphi. He realizado la prueba eliminando unas cuantas páginas y se carga correctamente.

Habría que investigar a partir de ahí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #20  
Antiguo 25-06-2010
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Vale!
Está claro que en este caso el problema es el tamaño.

El fichero tiene formato correcto, pero parece que es demasiado grande para el componente estandard de Delphi. He realizado la prueba eliminando unas cuantas páginas y se carga correctamente.

Habría que investigar a partir de ahí.
Hola Neftali:
Ahora tengo claro el problema y su solución.
Muchas gracias por tu ayuda y tiempo
Hasta pronto
Enrique
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
Como leer un Email en formato HTLM y que se muestren las imagenes y todo su formato jesus02018 Internet 0 28-12-2008 12:22:10
Marcas mexicanas Arcioneo Humor 12 23-07-2007 06:54:13
Sobre el significado de las marcas de automóviles marcoszorrilla La Taberna 8 09-02-2007 01:45:03
eliminar opcion de eliminar en un dbgrid morfeo21 Varios 3 14-07-2005 18:05:32
Trasladar Marcas de un BMP a otro Jessica666 Gráficos 3 07-07-2004 03:17:37


La franja horaria es GMT +2. Ahora son las 11:11:32.


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