Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Junio 25, 2012, 07:02:14 pm
-
Tengo una factura que tiene como descripción muy larga, como puedo hacer para cortar el texto y bajar en la otra linea.
por ejemplo descripción tengo en una caja de texto que el operador va escribir algo como esto: "Pago de publicidad del mes de junio prometo para la próxima pagar mas temprano mi cuota xD", Lo que quiero hacer es cortar por la mita y ponerlo en la otra linea así:
Pago de publicidad del mes de junio
prometo para la próxima pagar mas
temprano mi cuota xD
La impresión lo estoy haciendo con Printer.print "Hola"
-
Si es con Print creo que caballero no mas contar y cortar (salvo que alguien tenga mejor solución)
Supongamos que entran 30 caracteres en cada linea
Inicio = 1
Final = 30
TuCadena = "Pago de publicidad del mes de junio prometo para la próxima pagar mas temprano mi cuota xD"
TotalLineas = Int(Len(TuCadena) / Final) + 1
For i = 1 To TotalLineas
Printer.Print Trim(Mid(TuCadena, Inicio, Final))
Inicio = (i * Final) + 1
Next i
Espero te sirva, saludos.
-
Gracias Yban funciono perfecto. Ahora me genera otro problemita ajunto el proyecto.
http://www.mediafire.com/?94lvpcawc8wihza (http://www.mediafire.com/?94lvpcawc8wihza)
Lo que pasa es que no me imprime en la misma columna los otros caracteres.
Aca dejo muestra de como sale
(http://img440.imageshack.us/img440/2624/impre.png) (http://imageshack.us/photo/my-images/440/impre.png/)
Uploaded with ImageShack.us (http://imageshack.us)
-
Tenes el metodo TextWidth de Printer para que sea mejor con fuentes que no son todas las letras del mismo ancho (no es lo mismo un "H" que una "i")
Y por cada print, baja el CurrentY, tenes que guardarlo antes de mandar a imprimir varias lineas. Y luego volverlo al mismo que al principio y mover el CurrentY para que quede a la altura de la misma linea ( o hacer algo con TextHeigth para que quede centrado verticalmente)