Hola, mira realmente esta facíl si sabes hacer lo siguiente:
Sabes tomar caracter por caracter de una cadena??
If(answere= true)
{
/*Observa que para lo que requieres, el caracter #25 siempre debe ser NULL o vacio, espacio, etc, entonces valida cada 25 caracteres que sea vacio, de lo contrario del caracter 25 al 1 identifica el primer espacio, toma la posicion y alli esta la primera línea, la segunda de la misma forma, me explico.
ejemplo:
cadena="esta casa es de colo rosado y tejado color rojo." =48 char;
Me atrevere a poner código sin probar, pero es una idea....
pos=25;// cantidad de caracteres
tam=50;//Numero de lineas deseadas
lineas[tam];
linea=0;
while (pos<Lenght(cadena))
{
line[linea]="";
if (Lenght(cadena)<25)
{
Line[0]=cadena;
}
else
{
if (cadena[pos]=="" || cadena[pos]==" ")
{
for (int p=pos-25;p<pos;p++)
{
line[linea]=line[linea]+cadena[p];
}
}
else
{
for (int p=pos;p>pos-26;pos--)
{
if (cadena[p]==" ")
{
ExitFor;
}
}
for (int a=0;a<p+1;a++)
{
line[linea]=line[linea]+cadena[a];/////esto llena la linea cuando son mas de 24 caracteres y debe tomar la palabra completa.
}
pos=a;
}
linea++;
pos+=25;
for (int p=pos-25;p<pos;p++)
{
line[linea]=line[linea]+cadena[p];
}
}
mas o menos quedaría así....
Espero haberte ayudado.
Saludos.
*/
}
else
{
ShowMessage("SORRY!!!!");
}