Pregunta: | 44891 - ISPRINTER() EN W2000/XP |
Autor: | Diego Leonardo Morano |
Hola a todos tengo un programa de administracion de empresas echo en clipper cuya vigencia es de mas io menos 14 años, la verdad es que es un programa estable y funciona muy bien, pero ahora lo tengo que instalar en sistemas operatios como w2000 y xp y la funcion ispronter() siempre me da .t., y detecta que la impresora esta en línea siempre, alguien conoce algun truco para validar esto... mis líneas de programa son simples acá las transcribo, este programa es multiusuario y funciona desde la epoca de novell para DOS.... y ahora con s o w9x.
Gracias. do whil .t. opc_imp="S" if !isprinter() &&me devuelve SIEMPRE .T. errado() @24,00 clea setcolor("gr+") @24,20 say "Posee impresora su equipo ? (S/N)" get opc_imp pict "@!" valid(opc_imp$"SN") setcolor("w") read if lastkey()=27 .or. opc_imp="N" mens("Los listados por impresora se dirigir n al archivo LISTADOS.TXT..") set prin to listados.doc exit else decir("error",1) mens("Coloque la impresora en l¡nea...") loop endi endi //SETEA LA IMPRESORA Y PONE EL LARGO DE PAGINA A 12 PULGADAS set prin on set cons off ??chr(27)+chr(64) ??chr(27)+chr(67)+chr(0)+chr(12) set prin off set cons on exit enddo @24,00 clea |
Respuesta: | HENRY NUÑEZ |
Estimado amigo, despues de analizar su segmento de programa veo que esta todo bien, no es necesario o mejor dicho no hay que hacerle modificaciones a tu programa y mas aun cuando has tenido un buen tiempo probandolo en otra version de windows.
El problema lo tiene precisamente la version de windows a la cual te cambiaste, la cual requiere de instalar la impresora con requerimiento para DOS y esto se logra borrando el icono de impresora e instalarla de nuevo y en la pregunta, xxxxxx para DOS le dices que si, y eso es todo mi querido amigo, espero haberte resuelto el problema y si no estamos a la orden, por favor escribeme. Logradohenry@hotmaniel. Henry Nuñez |