Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Imprimir en Visual Basic

Estas en el tema de Imprimir en Visual Basic en el foro de Visual Basic clásico en Foros del Web. hola, tengo un problema, necesito imprimir facturas en VB 6.0 , no uso data report o crystal report porque no tengo base de datos, lo ...
  #1 (permalink)  
Antiguo 28/08/2008, 22:00
 
Fecha de Ingreso: septiembre-2007
Mensajes: 55
Antigüedad: 16 años, 7 meses
Puntos: 0
Exclamación Imprimir en Visual Basic

hola, tengo un problema, necesito imprimir facturas en VB 6.0 , no uso data report o crystal report porque no tengo base de datos, lo datos son ingresados en el momento, la cuestión es que ante mi sorpresa no encuentro información certera acerca del objeto Printer y tengo varias dudas...

La escala, que valores puede tomar??? Printer.ScaleMode=¿?

si defino la escala, cuando ponga los parametros CurrentY y CurrentX, como debo exprearlos? Ejemplo, pongo la escala en centimetros, y quiero imprimir luego de 10 cm, deberia poner CurrentX=10 ???

si quiero imprimir varias cosas una abajo de la otra, es correcta esta sentencia:

printer.currenty=50
printer.currentx=50
printer.print "Primera Linea"

printer.currenty=100
printer.currentx=50
printer.print "Segunda Linea" ???

Y en caso de ser correcta, el printer.currentY que mueve la impresion verticalmente, arranca de cero desde el borde superior de la hoja, o desde la ultima sentencia?

para cada printer.print tengo que definir todos los estilos una y otra vez??? (ScaleMode, FontSize, FontBold, etc...) o solo con hacerlo al comienzo de la impresión alcanza para todos los printer.print???

son varias cosas que nadie explica en internet, y estuve probando y siempre obtuve resultados diferentes, entonces nunca se si lo que hago esta bien o es de otra manera... :S

Gracias por la paciencia, y las ganas de ayudar... hoy por ti mañana por mi no? ;)
  #2 (permalink)  
Antiguo 29/08/2008, 07:26
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: Imprimir en Visual Basic

Bueno Bueno, vamos a ayudarte en lo que yo al respecto conozco de los printer. para empezar vamos a definir la escala:

Definimos algunas varialbes:
Código:
Dim HorizontalMargen, VerticalMargen As Single
Código:
'Papel Tamaño Carta = 21.59 x 27.94 Centimetros = 2550 x 3300 pixels
  
    'Imprimimos la hoja en forma Horizontal
    Printer.Orientation = vbPRORPortrait '2 Orientación Horizontal vbPRORLandscape '1 Horientación Vertical "vbPRORPortrait"
    Printer.ScaleMode = vbCentimeters 'Ponemos la Escala en Centimetros
    'Margenes
    HorizontalMargen = (21.59 - Printer.ScaleWidth) / 2 
    VerticalMargen = (27.94 - Printer.ScaleHeight) / 2 
'Con esto ya tenemos definida nuestra hoja y la forma en que sera impresa
Ahora trabajemos con las fuentes
Código:
  Printer.Font = "Monotype corsiva" 'Tipo de Fuente
  Printer.FontSize = 36 '20         'Tamaño de la Fuente
  Printer.ForeColor = vbBlue        'Colocamos el Color Negro a la Fuente
  Printer.FontBold = True           'Aplicamos el Atributo de Negro a la Fuente
todo esto te sirva para toda la impresión no es necesario definir constantemente, execto si quieres cambiar el tamaño o las fuentes entones tendrias que volver a definir solamente lo de las fuentes margenes y escalas es lo mismo.

y para mandar a imprimir hacemos esto
Código:
'AQUI tenemos que aclarar algo ya  que estamos trabajando en centimetros no devemos pasarnos de los margenes que estan establecidos arriba. para tu caso seria mejor asi
printer.currenty=5
printer.currentx=5
printer.print "Primera Linea"

printer.currenty=5
printer.currentx=7
printer.print "Segunda Linea"
espero que con esto se te aclaren algunas dudas si no ya nos cuentas como te fue. un saludo y hasta pronto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:12.