Tank01
Messages postés106Date d'inscriptionlundi 4 août 2003StatutMembreDernière intervention10 novembre 2006
-
13 juin 2006 à 09:21
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 2009
-
13 juin 2006 à 10:33
Bonjour,
Je suis entrain d'implémenter dans un programme, une procedure qui doit lancer un impression. ( jusque la, tout va:d)
Avant de lancer cette impression, je passe par la boite de dialogue ( PrintDialog.execute; ), afin que l'utilisateur puisse choisir l'imprimante qu'il souhaitera utiliser.
Je souhaiterais tout simplement que cette imprimante soit affichée dans une string, ou mieux, dans un fichier Texte.
Voici mes pistes :
assignfile(PeriphPrint,'C:\printer.txt'); // création du fichier texte printer.txt
Rewrite(PeriphPrint); // ouverture du fichier en écriture
PrintDialog.execute; //affichage de la boite de dialogue Imprimante // Jusqu'ici, tout ce passe bien !!!
printer.GetPrinter(); // Ceci permet de recevoir l'imprimante Choisie, mais je n'arrive pas à l'utiliser :s:s
Writeln(PeriphPrint,printerr.GetPrinter);// Ensuite écrire l'imprimante Choisie et l'écrire dans le fichier texte.
closefile(PeriphPrint); // Fermeture du fichier.
Voila, comme vous l'avez vu, la seule chose qui me pose problème est le printer.GetPrinter.
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 13 juin 2006 à 10:33
Salut, c'est pas trop méchant, juste un transtypage PAnsiChar -> String
var
Device,Port,Driver : PAnsiChar;
Mode : THandle;
LeNomDeMonImprimante : String;
begin Device := StrAlloc(256); // Réservation de place pour les PChar
Driver : = StrAlloc(256);
Port := StrAlloc(256);
if PrintDialog1.Execute then begin Printer.GetPrinter(Device,Driver,Port,Mode);
LeNomDeMonImprimante : = String(Device); // transtypage
end;
StrDispose(Device); // libération StrDispose(Driver);
StrDispose(Port);
end;