Adattare un programma di stampa tradizionale alle stampanti di Windows.



In questa pagina vorrei proporre una possibile soluzione per poter utilizzare le stampanti di Windows con programmi RM/COBOL tradizionali.
Generalmente si rende necessario un intervento minimo sui programmi sorgente.
Questo a dipendenza da come è stato scritto il programma di stampa.
Programmi in cui è stato fatto uso dei LINAGE o WRITE AFTER ZERO eccetera richiede qualche modifica in più. Di regola posso dire che si tratta di comandi poco utilizzati.
Gli esempi di programma realizzati per questa pagina servono solo per spiegare il principio che ho adottato per poter utilizzare i miei circa 300 programmi di stampa con una qualsiasi stampante di Windows.



La soluzione

Consiste nel ridirezionare la stampa su di un file ed, in seguito, stamparlo usando un programma che include le routines per poter accedere alle stampanti di Windows.
Questo programma, meglio detto modulo, oltre ad offrire la possibilità di scelta della stampante da utilizzare, svolge le seguenti funzioni:



Il programma di stampa classico

Questo potrebbe essere un programma di stampa che deve essere adattato.
Alla stampante viene attribuito il nome PRINTER.


LP-EX-02.CBL




La modifica.

Consiste unicamente nella sostituzione del nome esterno della periferica PRINTER in un nome di un file
Per questo esempio è stato dato il nome LISTA.SPOOL.
Da questo momento l’output generato da questo programma viene inviato al file LISTA.SPOOL.

Vai a inizio pagina

LP-EX-03.CBL




Vai a suUp

Il modulo per la stampa dello spool-file.

In questo programma troviamo le librerie e le routine che sono presentate nelle pagine precendenti.
Da notare che il file di input (LISTA.SPOOL) viene definito come ORGANIZATION BINARY SEQUENTIAL.
Questo poichè dobbiamo leggere byte per byte alla ricerca dei caratteri di controllo esadecimali 0A, 0D e 0C.
Il nome esterno della stampante è PRINTER?. Questo per fare in modo che al momento dell’open venga aperta la finestra di scelta stampante.

LP-SPOOL.CBL




Vai a inizio pagina




Come prelevare questi codici

Pagina precedente Pagina precedente