RE:Impresion de pro5 en Win XP
Estaba buscando datos sobre BBx, Pro5 y VPro5, y me encontré este comentario. Puede ser que el comentario no le sirva a quien originalmente lo subió (por cuestión de fecha), pero no está de más.
En Pro5 y VPro5, es muy normal que tengamos ciertos problemas cuando utilizamos el XP, ya que este SO (si se le puede llamar así), no permite configurar de manera sencilla, las conecciones con impresoras públicas (tipo DOS) como en Win98 e incluso a impresora local.
El asunto se resuelve utilizando algunos trucos.
El primero está en el "Config.BBx", en donde la definición de las impresoras, no debe llevar el "/dev/" que mencionaron antes, pero debo aclarar un asunto. Si en la línea utilizamos el parámetro "SysPrint", esto nos manejará la impresión con el administrador del Windows, lo cual hace que la impresión se dé con letra de calidad tipo Windows y no a como lo hacemos por DOS que es más rápida y sencilla. Si quieres utilizar el formato Draft del DOS en una matriz de punto, la línea del config sería algo así:
alias P1 lpt1 "Impresora Local.:" CR,CP=0F,SP=12,COLS=185,CPCOLS=214,EPON=0E,EPOFF=14,EPCOLS=2,EPLINES=1
Ahora bien, se pueden usar impresoras lógicas a como lo hacemos en Win98 o Millenium, en donde tenemos utilizados los puertos Lpt2, 3, ..., Lpt9. El Pro5 y VPro5 lo permiten en XP, pero debemos hacer la conección con los equipos a donde está el dispositivo. Para esto podemos utilizar un comando de DOS llamado "NET USE" y ejecutarlo desde la apliacación. En la empresa para la que trabajo, tengo XP que están en el área de facturación al público y cada vez que generan una factura, se imprime de forma inmediata la factura en 1 de 3 cajas de cobro y adicionalmente, envía un tiquete para que en las bodegas alisten la mercadería, el cual puede salir en tres impresoras diferentes, según sea el producto, es decir, que la facturación necesita tener conección hasta con 6 impresoras distintas. Como resolví esto en XP, muy sencillo, tengo una rutina que se carga al iniciar sesión en el sistema que tiene las siguientes líneas:
-------------------------------------------
0070 let bat$="C:\T41.BAT"
0080 erase bat$,err=0090
0090 string bat$,err=0070
0100 let bat=unt; open (bat)bat$
0110 rem '
0120 for i=2 to 9
0130 print (bat)"NET USE LPT"+str(i)+" /DELETE"+$0A$
0140 next i
0160 print (bat)"NET USE LPT2 \\gravilias01\caja_01"+$0A$
0170 print (bat)"NET USE LPT3 \\gravilias01\caja_02"+$0A$
0180 print (bat)"NET USE LPT9 "+chr(34)+"\\facturar_04\caja 03 prll"+chr(34)+$0A$
0190 print (bat)"NET USE LPT4 \\bodega_01\bodega_01"+$0A$
0200 print (bat)"NET USE LPT5 \\bodega_01\bodega_02"+$0A$
0210 print (bat)"NET USE LPT6 \\bodega_02\bodega_03"+$0A$
0220 print (bat)"NET USE LPT8 \\Mercadeo_02\proformas"+$0A$
0230 rem '
0240 close (bat)
0250 let x=scall(bat$+" &")
0260 exit
-------------------------------------------
Las líneas 70, 80 y 90 crean un archivo con formato string con extensión BAT, lo cual lo hace ejecutable en Windows
De la 120 a la 140 Ingreso las líneas que cerraran los posibles puertos abiertos.
De la 160 a la 220, ingreso las líneas que forzarán la apertura de puertos. La sintaxis es:
NET USE (comando DOS) [PUERTO] [\\IDENTIFICACION DEL EQUIPO\] [NOMBRE DE LA IMPRESORA]
Todo esto queda dentro del archivo de lotes (.BAT).
Por último, ejecutamos el BAT (línea 250)
Esto abre una ventana de DOS que ejecuta las intrucciones dadas y al finalizar se cierra automáticamente.
A mí en lo personal, me ha ayudado mucho y se los recomiendo.