cs_kilanihalim
Messages postés3Date d'inscriptionmardi 18 avril 2006StatutMembreDernière intervention20 mai 2008
-
1 avril 2008 à 11:24
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024
-
8 avril 2008 à 15:20
je voudrais utiliser 2 imprimantes en même temps pour ne pas avoir a changer de papier sous delphi et sans avoir a passer par le selecteur d'imprimantes.
Si vous avez une idée merci de me la communiquer.
schnawd
Messages postés20Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention12 juillet 2015 4 avril 2008 à 09:43
Je pense que tu dois dans un premier temps envoyer l'impression sur une permière imprimante, si jamais elle génère une erreur, tu dois arrêter l'impression puis lancer sur l'autre, et si cette dernière génère une erreur tu l'affiche dans ton appli. Si j'ai bien compris c'est ce que tu souhaites réaliser. Après je ne sais pas comment récupérer une erreur sur une imprimante. Si jamais tu trouves une solution ou que tu avances dans ton appli, ce serait sympa de le poster.
cs_kilanihalim
Messages postés3Date d'inscriptionmardi 18 avril 2006StatutMembreDernière intervention20 mai 2008 4 avril 2008 à 11:18
Merci $cHn4wD pour ton essai mais ce que je veux c'est imprimer deux choses differentes en meme temps.
Ex : dans un resto on imprime les tickets a la caisse et les commandes sur une imprimante en cuisine.
schnawd
Messages postés20Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention12 juillet 2015 4 avril 2008 à 11:31
Re alors, si je comprends bien ! Tu veux qu'à partir de ton logiciel qui est sur un même PC donc, tu choisisses d'imprimer soit un ticket, soit la commande pour la cuisine. Quand le client vient payer, tu imprime le ticket, et quand il passe commande ça imprime en cuisine. C'est bien ça?
schnawd
Messages postés20Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention12 juillet 2015 4 avril 2008 à 12:17
J'ai réfléchis, et pour ce que tu veux faire, tu as plusieurs solutions (je pense), j'en ai une à te proposer. Je réfléchirais aux autres quand j'aurais un moment. Alors ce qui serait pas mal c'est de récupérer le nom des ports de chaque imprimante. Clic droit propriété>port ex:LPT1, COM1, USB001 ouautre
Ensuite ce que tu veux imprimer, tu l'enregistres sous C:\temp1.txt
Dans MS-DOS, tu testes, copy C:\temp1.txt LPT1
Si c'est ok tu fais dans le onclick du bouton
shellexecute(0,'open','cmd.exe /c copy C:\temp.txt LPT1',nil,nil,SW_SHOW);
Après tu n'as plus qu'à modifier cette commande pour qu'elle imprime sur ta deuxième imprimante.
J'espère avoir bien répondu à ton attente
$cHn4wD
Vous n’avez pas trouvé la réponse que vous recherchez ?
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 20243 8 avril 2008 à 15:20
Bonjour,
voilà ce que je te propose en utilisant l'unité Printer de Delphi.
Dans ta fiche de dialogue créer une ComboBox par exemple (ici elle s'appele cbxPrinter) remplir les items avec toutes les imprimantes installées sur le PC (ou un autre objet)
Il ne te reste plus qu'à choisir l'imprimante qui t'interesse dans la liste de la combobox avant de lancer l'impression
procedure TfPrintDlg.FormCreate(Sender: TObject);
begin
fPrintDlg.Caption := 'Choix de l''imprimante et du rapport ..';
Printer.PrinterIndex := -1; // Réallouer l'imprimante par defaut
cbxPrinter.Items.Assign(Printer.Printers); // Récuperer toutes les imprimantes installées sur le PC
cbxPrinter.Text := Printer.Printers[Printer.PrinterIndex]; // Afficher par défaut l'imprimante par défaut
end;