Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Variables en RichEdit (https://www.clubdelphi.com/foros/showthread.php?t=24815)

chona 02-09-2005 21:57:45

Variables en RichEdit
 
Hola Amigos, tengo que hacer una aplicación con delphi 5 que me permita hacer modelos de cartas predefinidas y guardarlas. A la vez estos modelos seran usados y llenados automáticamente con datos de personas guardados en una Base de Datos (que se definirá un rango de personas al imprimir). Mi inquietud es como traer esos datos (personas) variables dentro de un RichEdit.-

Ej:

Nombre: @Nomble
Telefono: @telef

Donde todo el texto sería el modelo de la carta (archivo.rtf) definido por el usuario y @Nombre y @telef son las variables que traerían los datos de la DB

Desde ya muchísimas gracias

roman 02-09-2005 22:27:20

Podrías usar la función StringReplace sobre el texto del RichEdit para reemplazar @nombre, @telefono, etc. por los valores reales.

// Saludos

chona 03-09-2005 02:02:03

imprimir rango
 
Gracias Roman, ahora como puedo imprimir en un rango de personas.

dec 03-09-2005 09:23:38

Hola,

Cita:

Empezado por chona
(...) ahora como puedo imprimir en un rango de personas.

A preguntas distintas Hilos distintos: será lo propio.

chona 06-09-2005 13:51:11

conservar formato de font
 
Como puedo asignar valores al richedit sin que me cambie el formato (negrita, subrayado, tamaño de letra, etc) del .rtf
ejemplo:

Código Delphi [-]
richedit1.text := stringreplace(richedit1.text,'%nombre%','pepe',flag);

Esto me pasa todo el texto a un solo formato de texto, por ej. todo el texto con el mismo tramaño, tipo de letra, justificado, etc.

roman 06-09-2005 15:10:44

Hola,

Veo que StringReplace al parecer no da el ancho. Buscando por ahí he visto esta solución:

Código Delphi [-]
var
  Start: Integer;

begin
  Start := RichEdit1.FindText(FindText, 0, Length(RichEdit1.Text), []);
  if Start <> -1 then
  begin
    RichEdit1.SelStart := Start;
    RichEdit1.SelLength := Length(FindText);
    RichEdit1.SelText := ReplaceText;
  end;
end;

donde FindText es el texto a buscar y ReplaceText el texto para reemplazar.

Lo que esto hace es usar el método FindText del RichEdit para encontrar el texto, lo selecciona y lo reemplaza usando SelText.

// Saludos

n3mohack 27-10-2005 00:21:51

Amigo... si quieres asegurarte que te selecciona.. agrega la siguiente linea


begin
RichEdit1.SetFocus;
RichEdit1.SelStart := Start;

... sólo como comentario. ;)


La franja horaria es GMT +2. Ahora son las 17:20:04.

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