heavymetalforever
13-08-2015, 12:18
Ciao a tutti,
vi posto il mio problema, spero mi potiate aiutare, sempre che si possa.
Al lavoro ho un programmino gestionale fatto con Clipper, che ovviamente non ne vuole sapere di stampare su porta LPT1.
Ora, sono riuscito a far girare il programma correttamente (macchina virtuale XP a 32 bit)... funziona tutto ad eccezione delle stampe.
Ho rimappato la porta LPT1 su una stampante di rete, con esito positivo, ma anche così il programma non stampa. Preciso che il redirect, fatto con net use lpt1 ecc ecc funziona correttamente, perchè se da cmd digito ad es. dir > lpt1 mi stampa correttamente sulla stampante di rete l'output della dir.
Ho fatto vari tentativi e mi sono accorto che effettivamente il programma non stampa semplicemente perchè... il programma stesso non manda a LPT1, ma verso i file (l'ho scoperto solo dopo, in quanto i colleghi mi dicevano "prima stampava sulla stampante" quindi avevo imputato tutto ad un discorso di compatibilità... e allora ho perso un pò di tempo in questo senso. Tra l'altro mi era già capitato in passato di far girare un altro programma fatto sempre in CLIPPER, e avevo risolto rimappando la LPT1 con net use e tutto funzionava.
Torniamo quindi al problema: quando lancio le stampe, dopo svariati tentativi, mi accorgo che il file di testo contenente l'output della stampa lanciata magicamente cambia la data dell'ultima modifica... e prende quella del momento in cui ho lanciato la stampa.
Girando per alcuni forum ho visto che da Clipper la stampa DA PROGRAMMA può essere sostanzialmente diretta verso la LPT oppure verso il file.
Domandona: visto che ovviamente il programmatore che aveva fatto il programma non c'è più (altrimenti era troppo facile, chiedevo una modifica o il sorgente), è possibile secondo voi fare un redirect in modo che l'output del programma, che va su file, venga di nuovo reindirizzato su LPT?
Mi spiego meglio (almeno cerco):
- immagino che clipper invii le stampe su una porta (un file, certo, ma comunque una porta, o un dispositivo, dall'interno del programma). Secondo voi, dall'esterno del programma, prima di lanciarlo, magari con qualche variabile di ambiente /qualche SET e/o Echo sarebbe possibile rimappare verso la LPT l'output del dispositivo che usa Clipper dall'interno del programma che cattura le stampe?
In questo modo otterrei in modo un pò contorto quello che in realtà il programma dovrebbe fare da subito, ovvero fornire l'output su carta.
Secondo voi si può fare?
Grazie per l'aiuto... buona giornata a tutti
Giuseppe
vi posto il mio problema, spero mi potiate aiutare, sempre che si possa.
Al lavoro ho un programmino gestionale fatto con Clipper, che ovviamente non ne vuole sapere di stampare su porta LPT1.
Ora, sono riuscito a far girare il programma correttamente (macchina virtuale XP a 32 bit)... funziona tutto ad eccezione delle stampe.
Ho rimappato la porta LPT1 su una stampante di rete, con esito positivo, ma anche così il programma non stampa. Preciso che il redirect, fatto con net use lpt1 ecc ecc funziona correttamente, perchè se da cmd digito ad es. dir > lpt1 mi stampa correttamente sulla stampante di rete l'output della dir.
Ho fatto vari tentativi e mi sono accorto che effettivamente il programma non stampa semplicemente perchè... il programma stesso non manda a LPT1, ma verso i file (l'ho scoperto solo dopo, in quanto i colleghi mi dicevano "prima stampava sulla stampante" quindi avevo imputato tutto ad un discorso di compatibilità... e allora ho perso un pò di tempo in questo senso. Tra l'altro mi era già capitato in passato di far girare un altro programma fatto sempre in CLIPPER, e avevo risolto rimappando la LPT1 con net use e tutto funzionava.
Torniamo quindi al problema: quando lancio le stampe, dopo svariati tentativi, mi accorgo che il file di testo contenente l'output della stampa lanciata magicamente cambia la data dell'ultima modifica... e prende quella del momento in cui ho lanciato la stampa.
Girando per alcuni forum ho visto che da Clipper la stampa DA PROGRAMMA può essere sostanzialmente diretta verso la LPT oppure verso il file.
Domandona: visto che ovviamente il programmatore che aveva fatto il programma non c'è più (altrimenti era troppo facile, chiedevo una modifica o il sorgente), è possibile secondo voi fare un redirect in modo che l'output del programma, che va su file, venga di nuovo reindirizzato su LPT?
Mi spiego meglio (almeno cerco):
- immagino che clipper invii le stampe su una porta (un file, certo, ma comunque una porta, o un dispositivo, dall'interno del programma). Secondo voi, dall'esterno del programma, prima di lanciarlo, magari con qualche variabile di ambiente /qualche SET e/o Echo sarebbe possibile rimappare verso la LPT l'output del dispositivo che usa Clipper dall'interno del programma che cattura le stampe?
In questo modo otterrei in modo un pò contorto quello che in realtà il programma dovrebbe fare da subito, ovvero fornire l'output su carta.
Secondo voi si può fare?
Grazie per l'aiuto... buona giornata a tutti
Giuseppe