| DLL Print | |
|
|
|
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Mar 3 Jan 2012 - 21:06 | |
| Je n'ai aucune inquiétude au sujet de son emploi du temps, lui aussi il doit avoir une todo list de 10 kilomètres.
@Klaus, toujours dans la documentation, 'Impression de texte avec attributs', opt3%, la couleur semble bien être toujours au format BGR, et non pas RGB comme indiqué. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Mar 3 Jan 2012 - 23:29 | |
| Bon, voilà où j'en suis:
pour la prochaine version (pas encore en ligne): - la doc est corrigée pour AY en "absolu" - le problème RGB/BGR est reporté à un peu plus tard - la couleur de fond de la fenêtre de prévisualisation a été rendue plus foncée ce qui permet de détacher clairement la zone d'impression - je suis en train de rajouter 3 boutons sur cette fenêtre: "Fermer", "Annuler l'édition" et "Effacer la page". Dès que cela marchera, je remettrai en ligne.
Continuez à me faire vos remarques - le produit grandit avec cela et j'apprends par la même occasion ! | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Mar 3 Jan 2012 - 23:58 | |
| Que dire de plus... que je ne manquerai évidemment pas de faire les remarques qui me viennent à l'esprit, quitte à abuser de ta bonté ! et c'est vrai que c'est très intéressant comme fonction.
Concernant les boutons de la fenêtre de prévisualisation, il n'y aura pas un bouton 'Lancer l'impression' ? ou alors c'est le bouton que tu appelles Fermer ? c'est juste une question de syntaxe. Merci néanmoins, et bonne nuit ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Mer 4 Jan 2012 - 0:49 | |
| Le bouton "Fermer" ne servira qu'à fermer la fenêtre de prévisualisation. L'impression est lancée de façon effective par le code 3 dans PrinterManager (endjob). Si le le fais aussi dans la fenêtre aperçu, je risque de rencontrer un conflit en fin de programme ou en fermant l'édition, mais je vais y réfléchir.
Juste pour préciser les choses: c'est un défi intéressant que de créer de toutes pièces une fenêtre SANS parent dans une DLL et SANS perturber Panoramic, et néanmoins pouvoir la piloter depuis Panoramic. Je suis très friand de ce genre de problèmes auxquels j'aime trouver une solution, mais seulement s'il peut y avoir une utilité concrète, tel que c'est le cas de la gestion d'impression.
Je crois savoir par ailleurs que Jack travaille sur les sous-programmes et fonctions en Panoramic, avec passage de paramètres. Lorsque ce sera disponible, je ferai rapidement un "wrapper" (une interface conviviale) autour de mes modules DLL en y incluant l'ouverture et fermeture des DLL's appropriés, et on aura ainsi des sousprogrammes et fonctions aux noms significatifs, avec des paramètres simples, et on n'aura plus à se coltiner les ADR, DLL_CALLx etc. Voilà un peu les perspectives que j'envisage. Et si jamais un jour Jack implémente les Plug-In, alors je transposerai ces modules en Plug-Ins les intégrant de cette manière dans Panoramic. Mais cç, pour l'instant, c'est encore de ls science-fiction... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Mer 4 Jan 2012 - 10:07 | |
| Voilà, c'est en ligne ! Mise en relief de la zone d'impression, boutons sur la fenêtre d'aperçu.
Je travaille maintenant sur la "sécurisation" de l'ensemble des routines, à savoir bloquer les fonctions d'impression si aucune impression n'est active (avant "open_doc", après "end doc" ou "abort") et d'autres incohérences dans les paramètres. Pour le moment, il vaut mieux faire attention à la logique dynamique du programme ! | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: DLL Print Mer 4 Jan 2012 - 10:19 | |
| Je pense que Jack va finir par mettre un lien direct sur ta DLL / doc sur le site français / anglais de Panoramic, ça va vraiment devenir un complément indispensable pour les personnes voulant gérer les impressions... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: a Mer 4 Jan 2012 - 14:26 | |
| @Klaus Tu es sûr que les dernières modifications sont bien en ligne ? J'ai bien retéléchargé ce matin sur ton site et aussi il y a quelques minutes DLLdivers.42.zip mais je ne vois pas de différence dans la fenêtre d'aperçu ? et print.dll porte toujours la date du 3/1 à 11h21... Ce que j'imaginais dans la prévisualisation, ce n'est pas forcément d'imprimer directement depuis la fenêtre, mais d'avoir simplement par exemple deux boutons: 'Imprimer' et 'Annuler' pour fermer la fenêtre, le bouton cliqué étant renvoyé par la fonction sous forme de valeur de retour au programme appelant, à charge pour celui-ci de l'interpréter: 0 = je lance l'impression, 1 = j'annule l'impression. Un peu comme dans les programmes sous Windows qui ont une fonction 'Aperçu avant impression'. Ou, finalement, plus simple et tout aussi efficace: un simple bouton OK dans l'aperçu, et poser la question au retour dans le programme appelant de lancer l'impression ou non. ----------------------------------------------------------------------
(Ouvrez la parenthèse)
Autre chose, pour ceux que ça intéresse, il est possible de purger la file d'attente imprimante de Windows (spooler), qui peut se retrouver chargée d'éléments indésirables en attente, si on a fait des essais imprimante éteinte. C'est un script vbs Microsoft, déjà présent dans Windows, que j'ai déniché là: C:\Windows\System32\Printing_Admin_Scripts\fr-FR\prnqctl.vbs Il faut fournir deux paramètres: "-x" (=purger la file d'attente) et "-p " + "Nom de l'imprimante locale" Sous Panoramic, ça se présente donc ainsi: - Code:
-
EXECUTE_WAIT "Cscript.exe C:\Windows\System32\Printing_Admin_Scripts\fr-FR\prnqctl.vbs -x -p "+CHR$(34)+"HP Photosmart B109a-m"+CHR$(34) (c'est mon imprimante, pour l'exemple). On peut évidemment purger la file d'attente par la méthode classique Windows, panneau de config etc., mais c'est plus amusant de le faire par programme Il y a d'autres paramètres, par exemple -e (page de test) ..., et d'autres scripts utilitaires concernant l'imprimante, on trouvera les détails sur google. (Fermez la parenthèse)
----------------------------------------------------------------------- | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Ven 6 Jan 2012 - 19:02 | |
| Voilà, après quelques jour d'absence, la version (provisoirement) définitive de Print.dll, avec des boutons de gestion et la sécurisation des routines. La routine d'aperçu d'édition renvoie maintenant un code fonction pour signaler la touche qui a été frappée.
Note: Pour tester les éditions, j'utilise PDFCreator (un freeware) qui installe une pseudo-imprimante PDF. On peut ainsi regarder l'édition facilement à l'écran, sans toucher une impression physique. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: DLL Print Ven 6 Jan 2012 - 20:16 | |
| Et en respectant un peu plus la planète en n'utilisant pas de page de papier pour les tests Très bien Klaus (désolé pour l'intervention peu utile, c'est mon côté un peu écolo qui ressurgit ...) | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Ven 6 Jan 2012 - 20:27 | |
| Cette fois ça marche, merci Klaus, je ne vois pas ce qu'on pourrait faire de mieux. En tout cas ça me convient parfaitement, pour mon application en cours (impression d'une page-témoin de photos sur A4, avec choix du nombre de colonnes et de rangées).
Juste une petite remarque, concernant l'aperçu (le contraire t'aurait étonné sans doute): tu n'es pas maître des dimensions de la Form qui contient l'image de la page ? c'est un peu juste en hauteur (il manque le bas de la page, avec un ascenseur pour si peu, c'est dommage), et bien trop large... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Ven 6 Jan 2012 - 21:58 | |
| Oui, je vais optimiser cela. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Ven 6 Jan 2012 - 22:19 | |
| Merci Klaus, c'est purement esthétique, mais tant qu'à faire, autant demander la perfection | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 11:56 | |
| En mode portrait, l'aperçu est optimisé, et en ligne. Je travaille sur le mode paysage... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 13:52 | |
| Ah oui, c'est bien plus joli comme ça ! merci Klaus. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 15:36 | |
| Print.dll est en ligne avec l'aperçu en mode paysage, optimisé correctement.
Etape suivante (déjà en chantier): rajouter des boutons "+" et "-" pour zoomer sur l'aperçu... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 16:02 | |
| Ah oui, j'y pensais mais je n'osais pas abuser ! dans mon cas (priviligié, avec mon écran 24" 1920x1200, je peux afficher la page A4 grandeur nature ) C'est vrai qu'actuellement c'est un peu juste pour bien voir, j'avais par exemple une troncature des images à droite, dans le cas de mon imprimante les valeurs rendues par les fonctions 8 (largeur et hauteur utiles en pixels) sont un peu trop optimistes, je ne m'en suis aperçu qu'en imprimant réellement (mais en regardant bien on le voit sur l'aperçu), et j'ai rajouté de la marge. Je trouve le libellé des boutons de l'aperçu un peu ambigü, mais je ne sais pas trop quoi proposer à la place... peut-être 'Effacer tout' au lieu de 'Annuler l'édition' ? en tout cas, dans mon cas je ne me sers que du bouton Fermer, c'est après que je demande s'il faut annuler ou lancer l'impression, puisqu'on dispose d'une fonction qui annule tout. Mais il est vrai que pour moi je ne prépare et n'imprime qu'une page à la fois, en mode portrait, mais tiens, je vais regarder le mode paysage.... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 17:39 | |
| Voilà, ça marche ! Il y a des boutons "+" et "-" pour zoom avant et zoom arrière. Cela modifie la taille de l'image, mais pas de la fenêtre mais on peut la redimensionner à la souris en tirant les bords, comme d'habitude.
Les boutons: Annuler l'édition: cela efface tout et supprime la demande d'édition à Windows. Il ne reste rien dans la file d'attente pour l'imprimante. Cela correspond à abandonner une édition. Effacer page: cela efface la page actuelle, sans toucher d'éventuelles pages déjà terminées (PrinterManager fonction 2=nouvelle page valide la page actuelle, l'envoie à la file d'attente de Windows et prépare une nouvelle page blanche). En fait, on se remet dans la situation immédiatement après "Début document" dans le cas de la première page ou immédiatement après "nouvelle page". Fermer: cela ferme simplement l'aperçu sans toucher à l'édition. La croix rouge: identique à "Fermer". La fonction d'aperçu retourne un code identifiant le bouton frappé: 0 = erreur 1 = Fermer ou Croix rouge 2 = Effacer page 3 = Annuler édition Ainsi, on peut savoir comment continuer. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 18:32 | |
| Merci pour les précisions, je vais essayer tout ça tout à l'heure. | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 19:10 | |
| Très interessant tout ça^^ - Citation :
Effacer page: cela efface la page actuelle, sans toucher d'éventuelles pages déjà terminées Peut-être préciser ça sur le bouton lui-même ? "Effacer page actuelle" ou "Effacer actuelle" ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 19:35 | |
| OK, je vais revoir les libellés et éventuellement ajouter des bulles d'information. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Sam 7 Jan 2012 - 22:50 | |
| Sympa le zoom, c'est bien pratique et bien utile ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 2:02 | |
| J'ai mis une nouvelle version en ligne avec un bouton "?" qui affiche une aide succinte pour comprendre les touches. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 13:32 | |
| Il ne va plus manquer grand chose !
Au fait, tu avais parlé d'adapter le WinTextPrint (plus facile d'accès) en delphi, c'est abandonné ou ça tient toujours ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 14:07 | |
| J'ai remis une version de WinTextPrint en ligne, avec deux fichiers en pus: WTP.exe est la version DELPHI 6 de WinTextPrint (uniquement en mode commande) WTPHelp.exe est une version interactive (en DELPHI 6) de l'aide de WinTExtPrint et WTP.
A essayer tel quel. Je sais que la commande concernant l'orientation ne marche pas, mais il faut voir si le reste convient. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 14:36 | |
| Eh bien ça m'intéresse beaucoup tout ça, je m'y précipite. | |
|
| |
Contenu sponsorisé
| Sujet: Re: DLL Print | |
| |
|
| |
| DLL Print | |
|