Forum > Spanish

Cortar una cadena o texto en 2 textos de x caracteres

(1/1)

daragor:
Hola amigos, una pregunta... tengo un campo text en una base de datos sqlite, lo traigo y lo coloco en un tmemo de un form.. basicamente lo que quiero es poder dividir ese texto en 2 textos para poder optimizar un lazreport..

Por ejemplo si ese texto supera los 400 caracteres .. debería crear un 2do. texto con el resto... para asi tener 2 variables que no superen los caracteres y no se rompa el diseño de un reporte. espero se entienda!

* cabe aclarar que no se puede contar con un símbolo Delimitador! no hay

desde ya muchas gracias!

Edson:
Hola.

¿Cuál sería el criterio para cortar el texto entonces? ¿Espacio en blanco? ¿Longitud máxima?

De acuerdo a eso, se implementa el código.

Saludos

daragor:
Estimado Edson, claro el criterio seria una determinada cant. de caracteres, puse de ej. 400

Por ahora lo implemente con un copy() para crear 2 cadenas...
Si el length del texto supera los 400... hago 2 copy(cadena,inicio,final)
1 que va desde copy(cadena,1,400) y el otro copy(cadena,401,length(cadena))

Me parece un poco rebuscado porq corta palabras y queda mal, quizás haya alguna opción mejor.

Edson:
Podrías cortar por palabras, asumiendo que una palabra es todo aquello que está delimitado por espacios o los límites de la cadena. Luego partes tu texto en palabras y pones solo palabras completas que ocupen menos de los 400 caracteres que estás buscando (salvo que tengas una palabra de más de 400 caracteres).

Ese sería el acercamiento más simple. Ya luego puedes complicar más el algoritmo para considerar signos de puntuación u otros símbolos.

Navigation

[0] Message Index

Go to full version