|
Récupérer le nom des bacs d'une imprimante |
Débuté par info, 14 fév. 2006 21:29 - 7 réponses |
| |
| | | |
|
| |
Posté le 14 février 2006 - 21:29 |
Bonjour,
Je souhaite récupérer le nom des bacs et le code correspondant d'une imprimante connectée sur le poste de travail.
Comment y arriver ?
Merci de votre support ! |
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 06:35 |
Je crois que l'assistant de la commande iParamètre() te retourne ces noms. Sous l'éditeur de code tu tappes "iParametre(" puis tu sélectionne "Assistant".
Philippe http://www.freedev-web.com
"F10" <info@adsi.ch> a écrit dans le message de news: 43f216ce$1@news.pcsoft.fr...
Bonjour,
Je souhaite récupérer le nom des bacs et le code correspondant d'une imprimante connectée sur le poste de travail.
Comment y arriver ?
Merci de votre support !
|
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 06:36 |
Bonjour,
Après de multiples recherches, j'ai repris mon vieux code VB est l'ai transcrit en WD !
Ce code sous WD permet de connaître le nom et le code des bacs de toute imprimante connectée sur le poste de travail.
Si vous souhaitez plus d'infos... Avec plaisir !
Cordialement. |
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 09:22 |
Ton code m'intéresse Merci d'avance si tu peux en faire profiter la communauté
cordialement JCP puccettijc@free.fr
"F10" <info@adsi.ch> a écrit dans le message de news: 43f24b5d$1@news.pcsoft.fr...
Bonjour,
Après de multiples recherches, j'ai repris mon vieux code VB est l'ai transcrit en WD !
Ce code sous WD permet de connaître le nom et le code des bacs de toute imprimante connectée sur le poste de travail.
Si vous souhaitez plus d'infos... Avec plaisir !
Cordialement.
|
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 11:05 |
Voici donc la procédure complète:
L'écran de paramétrage des impressions (non affiché ici) permet de choisir les imprimantes et bacs corespondant pour les 1ères et copies suivantes. Il est composé de 2 combos et de 2 listes. Les combos affichent les imprimantes présentes sur le poste (voir iListeImprimante()). Les listes affichent les bacs des imprimantes sélectionnées dans les combos grace à la procédure Charge_Bacs(). La variable nCopie m'indique de façon simple (et à améliorer) laquelle des combos est cliquée (1 ou 2) ce qui permet d'effectuer les traitements adéquats (il serait également possible de passer en paramètre le nom de la fenêtre et le nom des objets à traiter...).
PROCEDURE Charge_Bacs(nCopie)
// Déclaration des variables
nbBac est un entier sur 4 sNomImp est une chaîne sNomPort est une chaîne
nBoucle est un entier sNomBac est chaîne nCodeBac est entier nPositionNull est un entier
tabNumerosBacs est un tableau dynamique de 1 entiers sur 2 sListeBacs est une chaîne
sNomImprimante est une chaîne
SI nCopie = 1 ALORS sNomImprimante = COMBO_Imprimantes_PremiereCopie..ValeurAffichée ListeSupprimeTout(LISTE_Bacs_PremiereCopie) SINON sNomImprimante = COMBO_Imprimantes_DeuxiemeCopie..ValeurAffichée ListeSupprimeTout(LISTE_Bacs_DeuxiemeCopie) FIN
// Constantes A DECLARER dans l'initialisation du projet
//Constante // API_NUMEROS_BACS = 6 // API_NOMS_BACS = 12 //FIN
// Sélectionner l'imprimante
iConfigure(sNomImprimante,Vrai) sNomImp = iInfoImprimante(Vrai,iNomImprimante) sNomPort = iInfoImprimante(Vrai,iNomPort)
// Chercher le nombre de bacs nbBac = AppelDLL32("winspool.drv","DeviceCapabilitiesA" ,sNomImp,sNomPort,API_NUMEROS_BACS,Null, 0)
SI nbBac ALORS Dimension(tabNumerosBacs,nbBac) nbBac = AppelDLL32("winspool.drv","DeviceCapabilitiesA" ,sNomImp,sNomPort,API_NUMEROS_BACS,&tabNumerosBacs, 0) sListeBacs = Répète(0,24 * nbBac) nbBac = AppelDLL32("winspool.drv","DeviceCapabilitiesA" ,sNomImp,sNomPort,API_NOMS_BACS,sListeBacs, 0) POUR nBoucle = 1 TO nbBac sNomBac = Milieu(sListeBacs, 24 * (nBoucle - 1) + 1, 24) nPositionNull = Position(sNomBac, Null) SI nPositionNull ALORS sNomBac = Gauche(sNomBac,nPositionNull-2) FIN nCodeBac = tabNumerosBacs[nBoucle] SI nCopie = 1 ALORS ListeAjoute(LISTE_Bacs_PremiereCopie,sNomBac + gLien(NumériqueVersChaîne(nCodeBac))) SINON ListeAjoute(LISTE_Bacs_DeuxiemeCopie,sNomBac + gLien(NumériqueVersChaîne(nCodeBac))) FIN FIN FIN
Pour plus d'infos: nospaminfo@adsi.ch adsi sàrl - CH 1807 Blonay - + 41 21 968 27 40 - www.adsi.ch |
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 11:06 |
Bonjour,
Merci Philippe, je souhaitais aller plus loin, c'est à dire laisser l'utilisateur choisir et changer les configurations quand il le veut. L'assistant est bien pour la programmation en "dur" mais il limite les possibilités. J'espère que le code que j'ai fourni te sera également utile...
Cordialement. |
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 11:15 |
Ok, si tu le permet, je peux récupérer ton exemple de code pour enrichir la base de données de FreeDev.
Philippe http://www-freedev-web.com
"F10" <info@adsi.ch> a écrit dans le message de news: 43f2eba3$1@news.pcsoft.fr...
Bonjour,
Merci Philippe, je souhaitais aller plus loin, c'est à dire laisser l'utilisateur choisir et changer les configurations quand il le veut. L'assistant est bien pour la programmation en "dur" mais il limite les possibilités. J'espère que le code que j'ai fourni te sera également utile...
Cordialement.
|
| |
| |
| | | |
|
| | |
| |
Posté le 15 février 2006 - 15:01 |
Bien sur ! Le code est sur le Forum à disposition de toutes et tous...
Bons devs! |
| |
| |
| | | |
|
| | | | |
| | |
|