Liste des imprimantes

Liste des imprimantes - Delphi/Pascal - Programmation

Marsh Posté le 20-07-2004 à 19:16:48    

Comment récuprer la liste des imprimantes installées et comment modifier par logiciel l'imprimante par défaut?
Merci d'avance.


---------------
Mes photos : http://500px.com/endemyon
Reply

Marsh Posté le 20-07-2004 à 19:16:48   

Reply

Marsh Posté le 20-07-2004 à 19:22:02    

J ai trouvé :    
 
Comme vous le savez, Windows permet l'installation de plusieurs imprimantes. Pour connaitre la liste des imprimantes installées sur l'ordinateur, les utilisateurs de certains langages doivent utiliser des API du style EnumFont et des procédures de callback. Avec Delphi, rien de tout ça! Les imprimantes installées sont répertoriées dans la propriété Printers (TStrings). Ainsi, pour afficher cette liste dans un composant du type TListBox, on placera le composant TListBox sur la feuille et on écrira:
 
ListBox1.Items := Printer.Printers;
 
Vous me direz: "C'est bien d'avoir la liste, mais comment savoir quelle imprimante est utilisée actuellement par défaut et comment choisir dans mon code celle qui m'intéresse pour une impression bien définie!"
 
A cela je répondrai: PrinterIndex! La valeur de PrinterIndex indique l'imprimante par défaut pour windows. Donc, pour connaitre le nom de l'imprimante, il suffira de d'écrire:
 
ImprimanteParDefaut := Printer.Printers[Printer.PrinterIndex];
 
Pour utiliser une imprimante de la liste dans votre code, il suffit de modifier la valeur de PrinterIndex en lui affectant l'index correspondant dans la liste. On écrira par exemple:
 
Printer.PrinterIndex := 1;
 
Note: Pour revenir à l'imprimante par défaut de Windows, on affectera à à PrinterIndex la valeur -1 !  
 
Désolé du dérangement


---------------
Mes photos : http://500px.com/endemyon
Reply

Marsh Posté le 20-07-2004 à 19:23:42    

Si tu sais attaquer les objets COM, regarde du côté de prnAdmin.dll ...
prnAdmin.dll

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed