Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Junio 25, 2012, 07:02:14 pm

Título: Cortar texto y bajar en la otra linea
Publicado 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"
Título: Re:Cortar texto y bajar en la otra linea
Publicado por: YAcosta en Junio 25, 2012, 07:52:45 pm
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
Código: (VB) [Seleccionar]
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.
Título: Re:Cortar texto y bajar en la otra linea
Publicado por: E N T E R en Junio 25, 2012, 08:54:15 pm
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)

Título: Re:Cortar texto y bajar en la otra linea
Publicado por: raul338 en Junio 25, 2012, 11:07:50 pm
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)