Autor Tema: Cortar y Alinear con printer  (Leído 1637 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Cortar y Alinear con printer
« en: Marzo 27, 2013, 06:52:13 pm »
Tengo un texto que supera los limites de la descripción de una factura y prepare un método para recortar pero no puedo alinear la cantidad, p.venta y sub-total como el ejemplo de la segunda factura. como ven en la segunda factura el nº 2 esta alineado por pago publicidad.



Quiero que quede así


Este es mi codigo.


Código: (VB) [Seleccionar]
Private Sub Command1_Click()
    Dim sLineas As Integer
    Printer.ScaleMode = 6
    For a = 1 To 2
        Inicio = 1
        Final = 25
        xTexto = "PAGO DE PUBLICIDAD MES DE NOVIEMBRE Y DICIEMBRE"
        TLineas = Int(Len(xTexto) / Final) + 1
        For i = 1 To TLineas
            xDescripcion = Trim(Mid(xTexto, Inicio, Final))
            Inicio = (i * Final) + 1
            nLineas = nLineas + 5
            Printer.CurrentX = 32:  Printer.CurrentY = 72 + nLineas
            Printer.Print xDescripcion
        Next i
        Printer.CurrentX = 15:       Printer.CurrentY = 72 + nLineas:  Printer.Print "2"
        Printer.CurrentX = 100:      Printer.CurrentY = 72 + nLineas:  Printer.Print "1.000"
        Printer.CurrentX = 141:      Printer.CurrentY = 72 + nLineas:  Printer.Print "2.000"
    Next a
    Printer.EndDoc
End Sub
« última modificación: Marzo 27, 2013, 06:54:47 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

erbuson

  • Kilobyte
  • **
  • Mensajes: 75
  • Reputación: +11/-1
    • Ver Perfil
Re:Cortar y Alinear con printer
« Respuesta #1 en: Marzo 28, 2013, 05:56:25 am »
Creo que en realidad sólo tienes que crear una variable para memorizar el valor que asignas a CurrentY cuando i del bucle vale 1, o sea cuando imprimer la primera linea de texto.

Algo asi:

Private Sub Command1_Click()
  Dim sLineas As Integer
  Dim Y As Single
  Printer.ScaleMode = 6
    For a = 1 To 25
      Inicio = 1
      Final = 25
      xTexto = "PAGO DE PUBLICIDAD MES DE NOVIEMBRE Y DICIEMBRE"
      TLineas = Int(Len(xTexto) / Final) + 1
      For I = 1 To TLineas
        xDescripcion = Trim(Mid(xTexto, Inicio, Final))
        Inicio = (I * Final) + 1
        nLineas = nLineas + 5
        Printer.CurrentX = 32:  Printer.CurrentY = 72 + nLineas
        If I = 1 Then Y = Printer.CurrentY       
        Printer.Print xDescripcion
      Next I
      Printer.CurrentX = 1:    Printer.CurrentY = Y:  Printer.Print "2"
      Printer.CurrentX = 100:  Printer.CurrentY = Y:  Printer.Print "1.000"
      Printer.CurrentX = 140:  Printer.CurrentY = Y:  Printer.Print "2.000"
      Next a
      Printer.EndDoc
End Sub
« última modificación: Marzo 28, 2013, 05:59:15 am por erbuson »

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Cortar y Alinear con printer
« Respuesta #2 en: Marzo 28, 2013, 11:32:19 am »
Gracias amigo, funciona de maravillas.

Saludos...
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo