SCR/AL1 - TOME IV. Les librairies internes
2.14 Fonctions de gestion des PRINTER
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