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 03-04-2009
carlos estrada carlos estrada is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
carlos estrada Va por buen camino
Insertar linebreak en tiempo de ejecución

Tengo un problema al querer insertar un salto de linea en el caption de un header de la columna de un TNextGrid; la colección no tiene una propiedad WordWrap pero aún así en tiempo de diseño con un simple Ctrl+Enter se consigue el objetivo de separar las lineas donde uno desee:



Pero en tiempo de ejecución al crear las columnas dinamicamente no hay forma de insertar ese linebreak; concatenar #13#10 solo inserta un par de cuadritos en el encabezado

¿alguien se ha topado con algo similar?,

PD. pensé copiar el salto de linea y colocarlo directamente en la variable (como lo he hecho por ejemplo en T-SQL para ubicar los saltos de linea) pero Delphi marca un error.
Responder Con Cita
  #2  
Antiguo 03-04-2009
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Si, pero la solucion es muy facil, mira:

Código Delphi [-]
procedure SetNombreMultiLinea(Grilla: TNextGrid; Linea1,Linea2: String; Alto, IndexColumna: Integer);
begin
     Grilla.HeaderSize := Alto;
     Grilla.Columns[IndexColumna].Header.Caption := Linea1 + chr(13)+chr(10) + Linea2; 
end;

Nota: recorda que el Alto debe ser suficiente para visualizar ambas lineas, sino solo seguiras viendo una linea.

Ejemplo de uso:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetNombreMultiLinea(NextGrid1,'HOLA','CHANGOS',50,0);
end;

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 03-04-2009
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Poder: 17
paladincubano Va por buen camino
Si quieres escribir menos, no uses el chr, y ponlo durectamente.

Eje:

Código Delphi [-]
Label1.Caption := 'Hola'+#13#10+'2da linea';

#10 salta de linea y #13 retorna el carro al principio de linea (normalmente lo hace sin el #13

Osea, solo bastaria poner un #10, poniendo #10#10#10 te salta 3 lineas.

saludos.

PD: ignora esto, no habia visto el final de tu post, sorry.
Responder Con Cita
  #4  
Antiguo 03-04-2009
carlos estrada carlos estrada is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
carlos estrada Va por buen camino
Cita:
PD: ignora esto, no habia visto el final de tu post, sorry.
Exactamente, ese es el problema, que el obvio #13#10 ( o chr(13)+chr(10)) no funciona ....

Eso es lo que me extraña, que en tiempo de diseño si lo hace y en ejecución no

Responder Con Cita
  #5  
Antiguo 03-04-2009
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Poder: 17
paladincubano Va por buen camino
Probastes la solucion que te daban mas arriba?
Responder Con Cita
  #6  
Antiguo 03-04-2009
carlos estrada carlos estrada is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
carlos estrada Va por buen camino
La de poner la concatenación en una función? mmmm, no, ya que debe dar el mismo resultado ...

pero nomás por no dejar dejo lo hago .....


EDITO:

Lo dicho, hace exactamente lo mismo. ¿Qué diferencia habrá? mmmmmm ¿por qué esos cuadros si lo hago durante la ejecución del programa ....?

EDITO2:

Pues he estado jugando con esa función un rato .... ¡y ya funcionó! .... aún no entiendo la lógica del asunto ... si el contenido de la función lo coloco dentro de la rutina no lo hace pero fuera si ...., igual si le mando de parámetros el resultado de otra rutina no lo hace pero si le mando variables estring si ... en fin, lo bueno es que finalmente funcionó .... ¡gracias a ambos!

Última edición por carlos estrada fecha: 03-04-2009 a las 17:14:48.
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
Insertar y modificar al mismo tiempo ! hecospina Firebird e Interbase 4 17-09-2008 13:40:28
datos en tiempo de ejecucion. angelp4492 Varios 3 11-02-2008 00:16:42
Webservice en tiempo de ejecución uricana Internet 0 13-11-2006 08:59:57
Insertar banda en fasreport en tiempo ejecucion Oni Impresión 0 03-11-2005 15:40:33
Tiempo de ejecucion? st7 Varios 3 11-05-2004 22:03:28


La franja horaria es GMT +2. Ahora son las 07:38:58.


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