Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/12/2009, 22:02
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Objeto printer y salto de linea en vb6.0

No puedo probarlo, así que no se si funcionará a la primera, pero creo que algo como esto te podría servir:

Código vb:
Ver original
  1. Printer.Print
  2. rs.MoveFirst
  3. Do Until rs.EOF
  4.     With rs
  5.  
  6.         Dim sImp0 As String, F As Long, VarTemp As String
  7.  
  8.         sImp0 = Format(!descripcion)
  9.         sImp3 = Format(!subtotal, "###0.00")
  10.  
  11.         For F = 1 To Len(sImp0)
  12.           VarTemp = VarTemp & Mid$(sImp0, F, 1)
  13.           If Printer.TextWidth(VarTemp) > 44 Then Exit For
  14.         Next F
  15.         VarTemp = ""
  16.         If F <= Len(sImp0) Then
  17.           sImp3 = sImp3 & vbCrLf & Mid$(sImp0, F)
  18.           sImp0 = Left$(sImp0, F-1)
  19.         End If
  20.  
  21.         Printer.CurrentX = 5
  22.         Printer.Print sImp0;
  23.  
  24.         sImp1 = Format(!precio, "###0.00")
  25.         Printer.CurrentX = 49 - (Printer.TextWidth(sImp1)) 'Alinea los decimales a la derecha?
  26.        Printer.Print sImp1;
  27.        
  28.         sImp2 = Format(!cantidad)
  29.         Printer.CurrentX = 59 - (Printer.TextWidth(sImp2))
  30.         Printer.Print sImp2;
  31.        
  32.         Printer.CurrentX = 69 - (Printer.TextWidth(sImp3))
  33.         Printer.Print sImp3;
  34.        
  35.         Printer.CurrentY = Printer.CurrentY + 0.9 'Espacio entre cada fila del rs
  36.    End With
  37.     rsl.MoveNext
  38. Loop
  39. Printer.Print

Feliz 2010
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 31/12/2009 a las 22:19 Razón: Corregir. Creo que esta vez si...