| Altre pagine: | 1] Gestire le stampanti | 3] Esempio pratico | |
|---|---|---|---|
| 2] Fasi preparative | 4] Adattare i programmi esistenti |
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:
- Processo di stampa differenziato in funzione della tecnologia della stampante.
- Soppressione della stampa della prima pagina bianca.
- Eliminazione dei caratteri non stampabili per le stampanti generiche.
- Conversione del set di caratteri.
Il programma di stampa classico
Questo potrebbe essere un programma di stampa che deve essere adattato.
Alla stampante viene attribuito il nome PRINTER.
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.
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.

Pagina precedente |


Pagina precedente
