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

SCR/AL1 - TOME III. Les librairies utilitaires

5. Le groupe s_strs

5.112 PC_list (file s_stpcl.c:94)

Syntax

char **PC_list(filename, fld_nb, fld_select, fld_vals, maxparms)
char *filename;
int fld_nb, fld_select, maxparms;
char *fld_vals;

Description

Recherche dans le fichier filename toutes les lignes de définition et retourne un tableau de pointeurs vers les champs fld_nb de chaque ligne de définition.

Les paramètres fld_select et fld_vals permettent de sélectionner un nombre d'entrées limitées : fld_select est le numéro du champ sur lequel s'effectue la sélection et fld_vals est un string contenant les valeurs que peut avoir la première lettre de ce champ. Si fld_val est NULL ou vide, ou fld_select est < 0, toutes les lignes sont sélectionnées.

Valeur retournée

un tableau contenant les champs numéro fld_nb de chaque ligne de définition. Ce tableau est nul en cas d'erreur (fichier non trouvé, pas de ligne de définition trouvée)

Exemple

    PrintFile(filename)
char *filename;
{
char **descr;

descr = PC_list("printcap", 2, -1, NULL);
if(descr == 0) return(-1);
mn = MN_auto_create(descr, 5, 15, 10, 1, SCR_REVERSE);
SCR_free_tbl(descr);

prnb = MN_edit(mn) - 1;
if(prnb < 0) return(-1);
descr = PC_list("printcap", 0, -1, NULL);
PR_exec("printcap", descr[prnb], filename, NULL, NULL);
SCR_free_tbl(descr);
return(0);
}

Voir également

PC_exec(), PC_infos(), SCR_free_tbl();

Description du fichier

Le fichier contient trois types de lignes :

Par exemple, un fichier de définition des imprimantes installées sur le système peut être du type suivant :

    +ps402:PS:1:Agfa P400PS laserprinter 2th floor
net use lpt3: /d
net use lpt3: suncalc:ps402
net print %1 lpt3
net use lpt3: /d
+lw3:PS:1:Apple Laserwriter 3th floor
net use lpt3: /d
net use lpt3: suncalc:lw3
net print %1 lpt3
net use lpt3: /d
+lpt1:HPDJ:1:HP Deskjet 500 on lpt1:
copy %1 lpt1
+psfile:PS:2:Postscript file
copy %1 %2
##+lpt1:FASCII:1:Standard DOS Printer on lpt1:
## copy %1 lpt1
##+lpt2:FASCII:1:Standard DOS Printer on lpt2:
## copy %1 lpt1

Les lignes de définition sont ici découpées en 4 champs :

Les lignes qui suivent sont les commandes à exécuter pour imprimer un fichier.

Le caractère + de début de ligne peut être modifié par l'utilisateur en remplaçant le pointeur PC_BEG par un string au choix.

De même, le séparateur peut être redéfini en plaçant dans la variable PC_SEPS un pointeur vers la liste des caractères acceptés comme séparateurs de champ.

5.112.1 File s_stpcl.c

char **PC_list(filename, fld_nb, fld_select, fld_vals, maxparms)

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