Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous.
J'ai 3 questions au niveau paramétrage Impression:
Je travaille actuellement en PB 8.
La commande PrintSetup() affiche une petite dialog permettant de choisir l'imprimante.
Cette commande renvoie 1 si aucun soucis et -1 en cas d'erreur.
Mais peut on savoir si l'utilisateur a clicker sur OK ou s'il a cliqué sur Cancel. (Ainsi on éviterait l'impression.
Dans les 2 cas la commande PrintSetup retourne 1 (OK ou Cancel). Donc, pas top. A priori ce que je demande, ce n'est pas géré., sauf s'il y a un autre moyen.
Autre question, peut on récupéré un numéro de l'imprimante sélectionnée ou alors son nom?
Et dernière question qui va avec la précédente: peut-on affecter un numéro ou un nom d'imprimante à une variable PB (que jene connais pas) afin d'éviter d'avoir à choisir l'imprimante. L'impession serait faite automatiquement sur l'imprimante sélectionnée auparavant (et d'une autre manière) et dont le code ou le nom est passé en paramètre.
Merci d'avance pour vos réponses..
Kalini
Hors ligne
Salut,
peut etre que tu trouveras une reponse ici ? commandes word
Hors ligne
Le problème est connu pour les bouton OK et Cancel. Il faut faire un workaround. Soit tu te crées une fenêtre avec ta propre liste des imprimantes laquelle tu choisie après dedans. Tu peux le faire avec printgetprinters qui te retourne la liste des imprimantes connues.
Tu peux utiliser les fonctions pour créer des jobs d'impression et après les imprimés. PrintOpen, PrintClose. La tu peux définir des noms pour le job et tu receveras son handle (numéro).
Aulieu des jobs tu peux aussi directemetn paramétrés les dws.
//paramètre l'imprimante pour la dw
dw_1.object.datawindow.print.printername = <nom_imprimante>
//paramètre le nom du job laquelles tu veras lors de l'impression dans la queue d'impression
dw_1.Object.DataWindow.Print.DocumentName = <nom_du_job>
Hors ligne
OK, merci à tous les 2.
Je vais éplucher le document Word donné par pick ouic et travailler sur le idées de Maestro également.
A+
Kalini
Dernière modification par Kalini (19-01-2007 08:29:59)
Hors ligne
Alors, j'ai encore un soucis.
Si j'affecte un nom d'imprimante à la DW, ça ne fonctionne pas.
Avant cette modif, j'affiche l'imprimante par défaut de la DW:
messagebox("imprimanteDW",string(dw_apercu.object.datawindow.printer))
ça me renvoie "Brother HL-1450"
--> OK
Ensuite, j'affecte une autre imprimante existante dans la liste donnée par PrintSetup()
dw_apercu.object.datawindow.printer = "Brother HL-1200"
si je redemande d'afficher le nom de l'imprimante
messagebox("imprimanteDW",string(dw_apercu.object.datawindow.printer))
ça me renvoie cette fois-ci : "?"
Pensant que ça puisse venir du nom de l'imprimante que j'envoie, on ne sait jamais, j'ai donc fait appel à la commande printsetup()
J'ai sélectionné une imprimante via cette fenêtre puis validé.
Je redemande le nom de l'imprimante et là, j'ai de nouveau "?"
Je ne comprends pas pourquoi je perds l'info
J'ai aussi utilisé la commande PrintsetPrinter, mais, ça ne change rien.. l'impression se fait sur l'imprimante définie à l'origine
Hors ligne
c'est un probleme d'affichage ?
enfin, j'ai pas trop suivi...
y a moyen d'avoir ca en image ?
Hors ligne
Non, oubli tout ça.
ça marche maintenant.
C'était finalement bien un problème sur le nom de l'imprimante passé en paramètre..
Par contre, la sélection d'une imprimante via le Printsetup() ne modifie pas l'imprimante par défaut de la Datawindow (datawindow.printer)
Hors ligne
Ce que je peux te conseiller c'est de faire un upgrade sur 10.5. A ce qu'il parait tout le méchanisme de l'impression a été amélioré. En dessous de 10.5 cela ne supporte pas très bien p.ex. l'environnement terminal server. L'imprmiante par défaut est pris en considération pendant le chargement de l'application. Si une fois ton application est démarrée et que tu changes par après l'imprimante par défaut du système, PB n'est pas capable de détécté cela (il est con parfois PB ). Voila juste poru info.
Hors ligne
Maestro a écrit:
Ce que je peux te conseiller c'est de faire un upgrade sur 10.5. A ce qu'il parait tout le méchanisme de l'impression a été amélioré. En dessous de 10.5 cela ne supporte pas très bien p.ex. l'environnement terminal server. L'imprmiante par défaut est pris en considération pendant le chargement de l'application. Si une fois ton application est démarrée et que tu changes par après l'imprimante par défaut du système, PB n'est pas capable de détécté cela (il est con parfois PB ). Voila juste poru info.
Merci Maestro.
Seulement, je ne peux pas migrer.
C'est pas moi qui gère ça, mais le client chez lequel je travaille.
Hors ligne