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

problemas al cambiar de impresora

Estas en el tema de problemas al cambiar de impresora en el foro de Visual Basic clásico en Foros del Web. Otro problema, ... no se como arreglarlo, vereis, uso un commondialog para la impresora, pero cuando selecciono otra iimpresora distinta, no me hace ni puñetero ...
  #1 (permalink)  
Antiguo 13/10/2007, 14:35
 
Fecha de Ingreso: enero-2007
Mensajes: 55
Antigüedad: 17 años, 3 meses
Puntos: 0
problemas al cambiar de impresora

Otro problema, ... no se como arreglarlo, vereis, uso un commondialog para la impresora, pero cuando selecciono otra iimpresora distinta, no me hace ni puñetero caso, o sea sigue imprimiendo con la anterior, hasta que no me salgo de la aplicacion y vuielvo a entrar, no me coge la configuracion de la nueva impresora, cada vez que cambio de impresora me tengo que salir para que la reconozca....

Como se pùede solucionar esto...

gracias por vustra paciencia

saludos
  #2 (permalink)  
Antiguo 14/10/2007, 12:07
 
Fecha de Ingreso: enero-2007
Mensajes: 55
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: problemas al cambiar de impresora

estoy un poco desesperado no me hace ni puñetero caso el commondialog, siempre me coge la impresora predeterminada y no me hace caso a la que selecciono en el commondialog ¿Alguien sabe que pasa?
  #3 (permalink)  
Antiguo 15/10/2007, 07:56
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: problemas al cambiar de impresora

Si puedes pon el code que estas usando para esa tarea y le echamos un vistazo


Saludos.
  #4 (permalink)  
Antiguo 15/10/2007, 17:48
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: problemas al cambiar de impresora

en faq si mal no recuerdo puse un codigo para seleccion de impresora.
  #5 (permalink)  
Antiguo 16/10/2007, 05:33
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: problemas al cambiar de impresora

A mí me ocurre lo mismo, la realidad de mi programa es que, si selecciono la impresora antes de pulsar un determinado boton, si se me cambia.

Pero si intento cmabiar la impresora despues d ehaber pulsado dicho boton, ya no me hace caso. El boton en cuestion lo que hace es cambiar el tamaño de papel y la orientacion del papel de la impresora:

Printer.PaperSize = 9
Printer.Orientation = 2

Tal vez si has cambiado alguna propiedad del objeto Printer ya no te permita seleccionarla mediante el commongdialog.

por lo que leí en la msdn de miscrosoft, el objeto printer en visual basic 6 estaba teniendo muchos errores. Intentaré solucionarlo cambiando la impresora mediante API y no mediante el objeto printer (creo que así lo hace el common dialog).

Si encuentro la solucion te aviso. Un saludo
  #6 (permalink)  
Antiguo 17/10/2007, 19:43
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: problemas al cambiar de impresora

Hola de nuevo. Yo ya pude solucionar el problema. Al final tuve que prescindir del CommonDialog. Por lo visto tiene un error y si haces algunos cambios a las propiedades de la impresora desde código, ya no funciona bien.

Lo que si funciona es usar una sentencia como la sigueinte:


Set Printer = Printers(i)
Sólo debes conocer los valores del array Printers()
Abajo te pongo un ejemplo.

Lo que yo hice fue lo siguiente:
Código:
'pongo en un formulario aparte una lista de todas las impresoras:

Private Sub Form_load()
Dim i As Integer
    ' recorre las impresoras del sistema y las añade a la lista
    For i = 0 To Printers.Count - 1
        List1.AddItem Printers(i).DeviceName
    Next
End Sub

Private Sub Command1_Click()
Dim Prt As Printer
 If List1.ListIndex <> -1 Then
    ' Establece la impresora que se utilizará para imprimir
    For Each Prt In Printers
        If Prt.DeviceName = List1.Text Then
            Set Printer = Prt
        End If
    Next

       MsgBox List1.Text & " Seleccionada.", vbInformation, "Info"

        
    End If
Form5.Hide

Un saludo y espero que te sirva.
  #7 (permalink)  
Antiguo 20/10/2007, 19:15
 
Fecha de Ingreso: enero-2007
Mensajes: 55
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: problemas al cambiar de impresora

pero y si no se de antemano la impresora que voy a utilizar porque lo ejecute con otra distinta a las que preveeo?
  #8 (permalink)  
Antiguo 21/10/2007, 06:40
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: problemas al cambiar de impresora

En el código de ejemplo que te puse, lo que se hace es en un formulario (en este caso "Form5"), contiene una lista (list1) y dos botones (command1 y command2).

al cargar el formulario (form_load). la lista se llena con los nombres de las impresoras.

Uno de los botones es cancelar (sólo hace form5.hide)

El otro boton es para seleccionar la impresora.

Me explico, el código es una alternativa muy básica al commondialog.

Nos acostumbramos a programar basandonos en ocx y librerias que nos resultan muy útiles y nos ahorran mucho tiempo. Y cuando alguna falla, a veces nos vemos un poco perdidos.

Puedes desarrollar tu propio control que actúe como el mismo commondialog, que seleccione todas las propiedades de las impresoras (ColorMode, PrintQuality, DeviceName, etc).
No es difícil y te llevará un par de dias como mucho, pero claro, es una tarea un poco tediosa, ya que ya estamos acostumbrados a que eso se hacía solo con el coomondialog.

Un saludo.
  #9 (permalink)  
Antiguo 22/10/2007, 12:10
 
Fecha de Ingreso: enero-2007
Mensajes: 55
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: problemas al cambiar de impresora

gracias por tu interes, voy a intentarlo, la paciencia es nuestra aliada.... gracias
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 21:21.