SCR/AL1 - TOME IV. Les librairies internes
2.15 Fonctions de définition des PRTDEV
Syntax
PRTDEV **SCR_ReadPrts(filename)
char *filename;
Description
Lit un fichier de définition des imprimantes et crée un tableau de structures exploitables pour définir efficacement les PRINTER de SCR/AL1 dans différents sites.
Valeur retournée
tableau de pointeurs vers des structures PRTDEV.
Exemple
Définir une MENU avec les imprimantes définies sur le site
----------------------------------------------------------
PRTDEV **GA_PRTS = 0;
MyApplSetMenuPrts()
{
int i;
MENU *mn = gm_prts;
SCR_FreePrts(GA_PRTS);
GA_PRTS = SCR_ReadPrts("ga4.ini");
if(GA_PRTS == 0) return(-1);
for(i = 0 ; i < mn->mn_nb_opts; i++)
SCR_free(mn->mn_opts[i].opt_text);
SCR_free(mn->mn_opts);
mn->mn_nb_opts = 0;
mn->mn_opts = 0;
for(i = 0 ; GA_PRTS[i] ; i++)
MN_add_set_option_text(mn, "%s (%s)", GA_PRTS[i]->prd_name,
GA_PRTS[i]->prd_descr);
MN_end(mn);
}
Exploiter pour définir les structures PR_DEV
--------------------------------------------
MyApplSetAttr(prattr, prdattr)
char **prattr, *prdattr;
{
if(prdattr == 0) return;
if(*prattr && strcmp(*prattr, prdattr) == 0) return;
*prattr = SCR_stracpy(prdattr);
}
MyApplPrOpen(pr)
PR_DEF *pr;
{
PRTDEV *prd;
int ininb, i;
pr = MyApplPr0;
prd = GA_PRTS[0];
// Exploitation des infos de ga4.ini
pr->pr_type = prd->prd_mode;
MyApplSetAttr(&(pr->pr_linefeed), prd->prd_eol);
MyApplSetAttr(&(pr->pr_formfeed), prd->prd_eop);
MyApplSetAttr(&(pr->pr_end), prd->prd_eof);
PR_DOCNAME = "Gestion syndicale";
#ifndef DOS
if(pr->pr_type == 'D') pr->pr_type = 'P';
#endif
if(pr->pr_type == 'F') {
PG_edit_window(gp_prtfile); // Demande le nom du fichier
PR_set_name(pr, gp_prtfile_FILE);
}
else PR_set_name(pr, prd->prd_name);
PR_select(pr);
}
Voir également
SCR_FreePrts()
File s_rprdev.c
SCR_FreePrts(prts)
PRTDEV **SCR_ReadPrts(filename)
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be