Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Formatos word en richedit (https://www.clubdelphi.com/foros/showthread.php?t=79777)

sac 09-08-2012 16:53:26

Formatos word en richedit
 
Hola amigos del foro.
A ver si pueden ayudarme Oootra vez.

Lo que quiero hacer ésta vez es abrir en un richedit un archivo word o rtf manteniendo los formatos originales de negrita, subrayado, tipo de fuente etc.

Estuve chequeando un poco los hilos pero generalmente se habla de pasar el formato de un richedit a otro y no es lo que quiero.

Desde ya gracias....

Casimiro Noteví 09-08-2012 17:08:52

Creo recordar que si abres un rtf ya se ve con los tipos de letras, tamaños, etc.

Neftali [Germán.Estévez] 09-08-2012 17:35:22

Cita:

Empezado por sac (Mensaje 439213)
Lo que quiero hacer ésta vez es abrir en un richedit un archivo word o rtf manteniendo los formatos originales de negrita, subrayado, tipo de fuente etc.

Si el archivo de "word" lo has guardado en formato RTF, no deberías tener problemas en abrirlo.

ecfisa 09-08-2012 20:14:11

Hola.

Como ya te comentaron Casimiro y Neftali, si el archivo se guarda en formato .RTF el TRichEdit leerá, mostrará y guardará con los formatos fijados (fuentes, estilos, alineación, etc).

Saludos.

sac 14-08-2012 19:37:57

Selección de un memo en 1ra línea Visible
 
Perdón por la demora en entrar nuevamente al foro.
Efectivamente como todos dijeron el RichEdit reproduce los formatos de las fuentes en Word.

Les pregunto (si me dicen que abra un nuevo hilo lo hago) cómo hago para que un texto seleccionado en un memo aparezca en la primera linea visible de ese memo. No se si me explico.

Acá les dejo el código como lo tengo hasta ahora donde "cita" es un TEdit.

Código:

p:= Pos(Cita.text, Memo1.Text);
    if p > 0 then begin
        Memo1.SelStart:= p - 1;
        Memo1.SelLength:= Length(Cita.Text);

Con este código viasualizo el memo y en la última línea visible de ese memo lo selecionado. Yo quisiera que esa lección quede en la primera línea que se ve del memo.

Gracias a todos.

Casimiro Noteví 14-08-2012 19:51:26

Cita:

Empezado por sac (Mensaje 439576)
Efectivamente como todos dijeron el RichEdit reproduce los formatos de las fuentes en Word.

No, no hemos dicho eso ;) porque no es así. Hemos dicho el formato RTF. Ya que el formato de word es el DOC y ese no se puede reproducir en un memo.

Para tu otra pregunta es mejor que crees un nuevo hilo, no solamente por nuestras normas, sino también porque aquí nadie se va a enterar que has preguntado eso.

ecfisa 14-08-2012 19:59:12

Cita:

cómo hago para que un texto seleccionado en un memo aparezca en la primera linea visible de ese memo.
Hola sac.

Código Delphi [-]
  Memo1.Lines.Insert(0, Copy(Memo1.Text, Pos(Cita.text, Memo1.Text), Length(Cita.Text)));

Saludos.

sac 14-08-2012 20:20:55

Ahora si....
 
Ecfisa gracias era lo que necesitaba había probado y no funcionaba lo mio.
Otra vez gracias.

sac 14-08-2012 20:57:44

Error
 
Ops perdón ecfisa pero no es lo que esperaba. Aplicando tu respuesta en realidad lo que hace es una copia del texto seleccionado en la primera línea.

Lo explico con un ejemplo:
Tengo un archivo de texto con unas 30 lineas.
Lo que deseo encontrar se ubica en la linea 18.
Supongamos que el Memo tiene un tamaño donde caben 10 líneas.

Lo que yo necesitaba era que al hallar la selección, la posicion del cursor, lo seleccionado, aparezca en la linea 1 que se ve en el memo y sea lo primero que se lee pero sin cortar, sin copiar etc.

ecfisa 15-08-2012 01:01:42

Cita:

Empezado por sac (Mensaje 439587)
Ops perdón ecfisa pero no es lo que esperaba. Aplicando tu respuesta en realidad lo que hace es una copia del texto seleccionado en la primera línea.

Lo explico con un ejemplo:
Tengo un archivo de texto con unas 30 lineas.
Lo que deseo encontrar se ubica en la linea 18.
Supongamos que el Memo tiene un tamaño donde caben 10 líneas.

Lo que yo necesitaba era que al hallar la selección, la posicion del cursor, lo seleccionado, aparezca en la linea 1 que se ve en el memo y sea lo primero que se lee pero sin cortar, sin copiar etc.

Hola sac.

No estoy seguro de entenderte, a ver si lo que buscas es esto...
Código Delphi [-]
  if Pos(Cita.Text, Memo1.Text) <> 0 then
    Memo1.Text:= Cita.Text + Memo1.Text;

Saludos.


La franja horaria es GMT +2. Ahora son las 13:41:28.

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