![]() |
Contar líneas en un QRDBText
Tengo un QRDBText al que le puse las propiedades AutoStretch y WordWrap en true para que siga abajo si el contenido del campo que tiene relacionado tiene muchas palabra sy no entran en un solo renglón. ¿Hay alguna manera de contar los renglones de ese QRDBText? Si hago QRDBText.lines.count no funciona, devuelve siempre cero pero en realidad hay cuatro o más lineas.
Yanina Genia |
Puedes "recorrerlo" y contar los caracteres 13 (intro) que tiene
Código:
var iX, iLineas :integer; |
...
No funciona!!!
No necesariamente se pasa de línea con un Enter, es algo que hace el QRDBText al setearle yo el AutoStretch y el WordWrap, el largo se lo pongo yo, y si los datos que saca de la base son más largos de lo que yo le puse, entonces continúa abajo, es algo automático. Yanina Genia |
Seria = a la cantidad de caracteres que fueron impresos en ese QRDBText divididos la cantidad de caracteres que caben en una sola linea, Por ejemplo:
Esta es la capacidad maxima de una linea <- Hasta aqui hay 41 caracteres Esta es la segunda linea <- Hata aqui hay 65 caracteres Entonces la cantidad de lineas seria 65/41 que es igual a 1.4878048780487804878048780487805 Alli puedes deducir ya que hay 2 lineas y con la funcion Ceil arreglartelas para acomodar la cosa ;) |
Cita:
|
Para ampliar un poco, la funcion puede ser algo asi:
espero te sirva. ;) |
Ceil function
Tengo que declarar algo antes para usar esta funcion? Porque se enojó Delphi, dice que no lo declaré en ningún lado y que por eso ahora no lo va a usar.
A mi se me ocurrió algo así, pero lo hice sin función y estaba buscando algo para que quede más prolijo, hice: DetalleReporte.Height := DetalleReporte.Height + 17*((length(trim(query3.FieldByName('PAQ_SOLICITADO').AsString))div 80)+1); Se supone que aumenta el ancho del detalle a medida que se incrementan las líneas. Y me funciona bastante bien, pero buscaba eso, algo más estético. Hice 17 porque es el ancho de una línea, y le sumo 1 porque si tengo por ejemplo 150 caracteres, el div me va a dar 1. Y si los caracteres son 70, el div da cero, así que le suma 1 y queda bien. Yanina Genia |
La franja horaria es GMT +2. Ahora son las 13:24:35. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi