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

SCR/AL1 - TOME IV. Les librairies internes

2. La librairie scr4o

2.14 Fonctions de gestion des PRINTER

2.14.32 PR_mail_col (file s_prmail.c:224)

Syntax

PR_mail_col(
unsigned char *filename,
unsigned char *(*fn)(unsigned char *),
int col,
int nl,
int first_ch
)
#else
PR_mail_col(filename, fn, col, nl, first_ch)
unsigned char *filename;
unsigned char *(*fn)();
int col, nl, first_ch;
#endif

Description

Fonction semblable à PR_file() mais généralisée de telle sorte que l'utilisateur ait le choix de la fonction à exécuter pour obtenir le texte à imprimer pour chaque champ rencontré dans le fichier filename. Dans le cas de PR_file(), ce texte était celui du champ de la page de référence.

Le contenu d'un fichier est imprimé en remplaçant les champs indiqués dans le fichier par des $nom ou ##nom par le texte retourné par la fonction utilisateur, fonction qui reçoit le nom du champ comme paramètre.

    unsigned char *fn(unsigned char *fld_name);

Par exemple :

unsigned char *PR_file_txt(fld_name)
unsigned char *fld_name;
{
int fld_nb;
static U_ch tmp[30];

fld_nb = SearchFieldNumber(fld_name);
if(fld_nb << 0) return((U_ch *)0);
sprintf(tmp, "Champ %d", fld_nb);
return(tmp);
}

Dans le cas où first_ch est spécifié, les lignes dont le premier caractère est identique à first_ch et est majuscule sont de toute façon imprimées. Celle dont le premier caractère est identique, mais en minuscule, ne sont imprimées que dans 2 cas : soit si aucun champ n'est présent dans cette ligne, soit si au moins un champ de la ligne est non vide.

Lorsque un des caractères verticaux semi-graphiques (simple ou double) ou le caractère de hachurage de mt, ou le caractère pipe (|) apparaissent dans une ligne, le pointeur d'impression est remplacé à cet endroit quelque soit la longueur des champs précédents.

Le caractère ampersand a le même effet, mais n'est pas imprimé sauf s'il est doublé.

Valeur retournée

Si le fichier ne peut être ouvert, PR_mail_col retourne -1. Sinon la fonction retourne 0

Exemple

    PR_select(pr_deskjet);
...
SCR_isam_to_page(pg_client, is_client);
PR_mail_col("etiq.txt", myfn, 40, 9, 0);
...
PR_send();

Voir également

SCR_isam_to_page(), PR_select(), PR_send(), PR_file(), PR_listing(), PR_mail()

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