Utiliser 2 imprimantes sous delphi

Signaler
Messages postés
3
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
20 mai 2008
-
Messages postés
106
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
-
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.

5 réponses

Messages postés
20
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
12 juillet 2015

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.

$cHn4wD
Messages postés
3
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
20 mai 2008

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.
Messages postés
20
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
12 juillet 2015

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?

$cHn4wD
Messages postés
20
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
12 juillet 2015

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
Messages postés
106
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
2
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;

pierrot