Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME II. Les Objets

9. PRINTER

9.2 Définition d'un PRINTER

FILE ou PRINTER

A un PRINTER est associé un nom de fichier ou un nom d'imprimante. Ce paramètre est indispensable pour permettre de déterminer où l'output de l'impression soit être envoyé.

Exemple

    FILE "tmp.imp"

Unix

En Unix, s'il s'agit d'une impression, il faut indiquer le filtre : un "pipe" est ouvert avec ce filtre, pipe qui reçoit tout le texte à imprimer.

Exemple

    PRINTER "lp -s -dlp0"

Win32

Le mot-clé DIRECT peut remplacer FILE ou PRINTER dans la définition du PRINTER. Ce mot-clé doit être utilisé sous Windows pour une impression directe. La fonction d'impression ouvre alors LPTn: avec fopen("LPT1:", "r+") au lieu de "w+".

        DIRECT "LPT1:"

NL et NC

Lors de l'impression, une IMAGE temporaire est construite qui contient le texte et les attributs du texte à imprimer. Les paramètres NL et NC indiquent respectivement les nombres de lignes et de colonnes de la page d'impression.

Valeur par défaut

Par défaut, NL vaut 66 et NC 80.

BEGIN et END

Ces deux instructions permettent d'indiquer les strings d'initialisation et de fin d'impression. Ils sont optionnels et sont vides par défaut.

Exemple

    BEGIN      "\d15"   /* Mise en condensé */
END "\d18" /* Suppresion du mode condensé */

FORMFEED et LINEFEED

Ces deux strings définissent les séquences de caractères qui doivent être envoyés à l'imprimante respectivement lors d'un saut de page et lors de saut de ligne. Certaines imprimantes demandent par exmple un saut de ligne du type "\r\n", d'autre "\n" seul.

Autre exemple : les impressions d'étiquettes se font en général sur du papier continu. Il ne faut donc pas envoyer de saut de page à l'imprimante : ceci est simplement réalisé en annulant FORMFEED.

Exemple

    FORMFEED ""     /* Pas de saut de Page */
LINEFEED "\r\n"

Valeur par défaut

Par défaut, ces valeurs sont :

    FORMFEED "\f"
LINEFEED "\n"

Attributs des caractères

Il est possible d'imprimer des pages complexes contenant des caractères d'attributs différents. Un façon simple d'y arriver est d'imprimer des PAGES.

Il s'agit de spécifier dans le PRINTER la séquence de caractères à envoyer pour changer les attributs et à l'inverse pour restaurer le caractère normal.

Les attributs définis sont les suivants :

L'annulation de ces attributs est définie par :

TABS

Les TABS (horizontaux) sont les positions des colonnes sur lesquelles se positionne le curseur par la fonction PR_tab(). Ils sont définis par une suite de positions :

    TABS 10 20 30 40 50 60

On peut disposer un maximum de 30 TABS par PRINTER.

Valeurs par défaut

Par défaut, un TAB est disposé toutes les 8 colonnes (8, 16, etc).

VTABS

Les VTABS (verticaux) sont les positions des lignes sur lesquelles se positionne le curseur par la fonction PR_vtab(). Ils sont définis par une suite de positions :

    VTABS 9 18 27

On peut disposer un maximum de 10 VTABS par PRINTER.

Valeurs par défaut

Par défaut, un VTAB est disposé toutes les lignes.

MAP

Lors de l'envoi de la page vers l'imprimante, les 256 caractères de la table ASCII peuvent être remplacés par une suite de caractères. Cette suite de caractères sera envoyés à l'imprimante chaque fois que le code du caractère est rencontré dans la page.

Exemple

    MAP '\263' "|" /* Caractère semi-graphique vertical */
MAP '\304' "|" /* Caractère semi-graphique horizontal */
MAP '\332' "+" /* Caractère semi-graphique coin */
MAP '\277' "+" /* Caractère semi-graphique coin */
MAP '\300' "+" /* Caractère semi-graphique coin */
MAP '\331' "+" /* Caractère semi-graphique coin */

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be