Problemas con SET PRINTER (II)

28/11/2006 - 12:31 por alejandro | Informe spam
Necesitaria ayuda sobre el siguiente codigo.

**********************************************************
impresora=ALLTRIM(thisform .list1.value)
APRINTERS(impresoras)
FOR
i=1 TO ALEN(impresoras,1)
IF &impresoras(i,1)==&impresora then
SET DEVICE TO PRINTER
SET PRINTER ON
SET PRINTER TO &impresora
ENDIF
ENDFOR
**********************************************************

El problema que tengo es que, al ejecutar el mismo aparece un mensaje que
dice "No se encuentra la variable <nombre_impresora>". <nombre_impresora> es
el valor que toma "&impresoras(i,1)". Obviamente no puedo imprimir.

Alguna ayuda?

Preguntas similare

Leer las respuestas

#1 Hector Quiñones
30/11/2006 - 02:57 | Informe spam
Utiliza:
SET PRINTER TO NAME (impresora)
#2 Dario David Puccio
01/12/2006 - 00:48 | Informe spam
Ale podrias enviarme el codigo por email y lo estudio...

Pero podrias inicar una prueba con

LOCAL lcPrinter

lcPrinter = ''
lcPrinter = GETPRINTER()

IF !EMPTY(lcPrinter)
SET PRINTER TO NAME (lcPrinter)
REPORT FORM Test TO PRINTER NOCONSOLE
ELSE
WAIT WINDOW 'Impresion Cancelada' TIME 1
ENDIF

NOTA: Para que este procedimiento funcione, el reporte
se debe guardar con la impresora predeterminada seleccionada en la
colocacion Nombre- cuadro dentro del dialogo Configurar impresion.
A este de dialogo se lo llama desde el de dialogo Configurar pagina
encontrado bajo el menu Archivo.
Caso contrario abrir el informe con tabla. Del primer registro borrar el
contenido de los campos tag, tag1 y Expr.

USE reporte.frx
LOCATE FOR Objtype = 1 AND Objcode = 53
REPLACE Tag WITH ""
REPLACE Tag2 WITH ""
REPLACE EXPR WITH ""

Espero te sirva...

Dario David Puccio
El Cyber_Gaucho
www.chispazodetradicion.com.ar
#3 Carlos Ramírez
13/12/2006 - 23:04 | Informe spam
Saludos, espero te sirva la respuesta aún:

El error que tienes se encuentra en que estas haciendo una sustitución
de macro en el bloque IF
Mostrar la cita
debes quitar sencillamente el simbolo & para que funcione el trozo de
código.

Por otra parte deberias reevaluar el código ya qué entiendo que tratas
de validar que se seleccionó una impresora para redirigir las salidas a
ella.
Si es eso, te recomiendo utilices el código que ha enviado Dario David
Puccio, ya que, es más funcional.

Saludos

"alejandro" escribió en el mensaje
news:
Mostrar la cita
#4 Dario David Puccio
14/12/2006 - 02:44 | Informe spam
Mostrar la cita
FOR i=1 TO ALEN(impresoras,1)
IF &impresoras(i,1)==&impresora then

Ademas el error esta en el &impresoras(i,1) ya que es una matriz por lo cual
de por si en cada posicion ya tiene el nombre de la impresora por lo que no
deberias forzar ningun macro. Idem impresora ya que no trae directamente el
nombre? es como hace if a=b comparo los valores contenidos en la variables.


Dario David Puccio
El Cyber_Gaucho
www.chispazodetradicion.com.ar
Ads by Google
Search Busqueda sugerida