alineación vertical con saltos de línea de programación. Algoritmo para una celda:
- Cuenta el número de caracteres en los datos (
iTextLen
).
- encuentra el número de líneas de texto en la celda (
iLineNum
). Calculado empíricamente
- Encuentra la longitud de fila en caracteres (
iLineLen
). Calculado empíricamente
Calcular contar el número de halfbreaks por la fórmula (iLineNum — 1) — (iTextLen/iLineLen)
.
@formula
en la sintaxis de cristal:
Local NumberVar iLineNum:= 5;
Local NumberVar iLineLen:= 30;
Local NumberVar iTextLen:= Length({DataSource});
Local StringVar sRet:= '';
Local NumberVar i;
Local NumberVar iLinesNum:= Truncate(iLineNum - 1) - Truncate(iTextLen/iLineLen);
For i:= 1 to iLinesNum Do (sRet:= sRet + chr(13));
sRet
Agregar fórmula a la parte superior e inferior de los datos. Los objetos de texto se vería así:
{@formula}{DataSource}{@formula}
Tamaño de la fuente de @formula
debe reducirse a la mitad del tamaño de la fuente {DataSource}
. Por ejemplo, si el tamaño de fuente de {DataSource}
igual a 20, la @formula
debe ser igual a 10: 
algoritmo funciona mejor con tipo de letra monospaced, pero con tipo de letra proporcional funciona en la mayoría de los casos.
Algoritmo para varias celdas es sólo difieren que iLineNum
será el número máximo de caracteres de datos de todas las células.
No es para texto centrado, no lo es. – Richard
Qué lástima ... –