Bonjour à tous !
Suite à la discussion sur le changement de police dans WordPad suite à l'utilitaire WinTextPrint que j'ai créé et mis à disposition des panoramiciens, j'aurais une suggestion à faire.
Et si l'on créait un nouvel objet systeme de type "printer", avec des instructions permettant de gérer cet objet ? Ce serait un objet évidemment invisible en exécution, mais qui accepterait des commandes pour gérer l'imprimante.
N'étant pas visible à l'exécution, il n'aurait pas non plus de On_Click, Top, Left, Caption etc ni les fonctions correspondantes.
Exemple:
' création de l'objet printer
printer 10
' attacher une imprimante windows
printer_select 10,"nom_imprimante"
' choisir les unités de mesure n: 0=pixel 1=mm
printer_unit 10,n
' choisir une police
printer_font 10,"nom_de_police"
' choisir une taille de police
printer_fontsize 10,16
' choisir un format papier (1=A4,...)
printer_paper 10,n
' choisir l'orientation 0=portrait 1=landscape
printer_orientation 10,1
' positionner l'endroit de la prochaine impression
printer_position 10,position_x,position_y
' imprimer un texte mode: 0=nouvelle ligne 1=rester derrière le texte imprimé
printer_print 10,"texte_à_imprimer"[,mode]
' imprimer une image à la position actuelle
printer_image 10,"nom_image",largeur,hauteur
' provoquer un saut de page
printer_newpage 10
' finir l'impression
printer_close 10
etc
et des fonctions permettant de retrouver des informations sur l'imprimante:
' retourner le nom de l'imprimante connectée
test$ = printer_name$(10)
' largeur de page (en pixels ou mm)
larg% = printer_width(10)
' hauteur de page (en pixels ou mm)
haut% = printer_height(10)
' position actuelle d'impression
pos_x = printer_position(10,0)
pos_y = printer_position(10,1)
etc
L'objet printer et des attributs et méthodes similaires existent dans d'autres langages; je ne connais pas Delphi, mais je ne pense pas que cela se gère très différemment dans Delpi. Il s'agirait plus ou moins de faire un "wrapper" autour de ces fonctionnalités afin de les rendre accessibles an Panoramic.
J'espère que je ne suis pas complètement hors sujet dans cette rubrique et que j'ai réussi à exprimer mon idée clairement.
Cordialement Klaus