IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

DELPHI7 Quickreport : Ouvrir un tiroir de caisse via imprimante thermique sans impression de ticket


Sujet :

Delphi

  1. #1
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2018
    Messages
    483
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2018
    Messages : 483
    Par d�faut DELPHI7 Quickreport : Ouvrir un tiroir de caisse via imprimante thermique sans impression de ticket
    Bonjour,

    Je sollicite votre aide concernant un tiroir de caisse branch� � une imprimante thermique via un c�ble RJ11.
    donc on a :
    TIROIR ----(RJ11) ----> IMPRIMANTE --- (USB)---> PC

    Actuellement, lorsque je lance une impression avec le code suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Fticket.QRep1.Print;
    Fticket.Free;
    l�impression se fait et le tiroir de caisse s�ouvre correctement.

    - Mon objectif est de cr�er une fonctionnalit� permettant d�ouvrir uniquement le tiroir de caisse, sans imprimer de ticket.

    J�ai d�j� test� plusieurs solutions propos�es (notamment via ChatGPT), mais malheureusement j�ai fini par casser le spooler Windows et rien n�a fonctionn�.

    J�ai ensuite essay� une autre approche :

    Cr�er un rapport de 1 cm de hauteur,

    Ajouter un QRLabel vide,

    Esp�rer qu�un petit papier de 1 cm sorte et d�clenche l�ouverture du tiroir.

    Mais cette solution n�a pas fonctionn� non plus : le tiroir ne s�ouvre pas.

    Est-ce que quelqu�un a d�j� travaill� sur ce sujet ou aurait une solution qui fonctionne ? sachant que j'ai FastReport aussi

    Merci d�avance pour votre aide et vos pr�cieux retours.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SergioMaster
    Homme Profil pro
    D�veloppeur informatique retrait�
    Inscrit en
    Janvier 2007
    Messages
    15 680
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 680
    Billets dans le blog
    65
    Par d�faut
    La plupart de ce type de mat�riel respecte la norme ESC/POS il doit donc �tre possible de le faire en "imprimant" la commande.

    En gros sans aucune garantie
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Printer.Begindoc;
    Printer.canvas.textout(Chr$(27)+' 9 0 0');  
    Printer.Endoc;
    Utiliser la fonction de recherche du forum avec les mots cl�s tiroir caisse renvoi vers plein de discussion
    MVP Embarcadero
    Delphi install�s : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Ath�nes)
    SGBD : Firebird 2.5, 3, SQLite
    g�n�rateurs �tats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Andro�d

  3. #3
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2018
    Messages
    483
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2018
    Messages : 483
    Par d�faut Solution D7
    Apr�s plusieurs essais et allers-retours, voici le code qui fonctionne pour ouvrir le tiroir-caisse via une imprimante sous Delphi 7 :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    procedure TF_Ventes.RzBitBtn23Click(Sender: TObject);
    var
      hPrinter: THandle;
      DocInfo: DOC_INFO_1A;  // Type correct en Delphi 7 (ANSI)
      DocName, DataType: AnsiString;
      BytesWritten: DWORD;
      Cmd: AnsiString;
      PrinterName: AnsiString;
    begin
      // Séquence ESC/POS standard pour ouvrir le tiroir
      Cmd := #27#112#0#25#250;   // Essayer aussi #27#112#1#25#250 si ça ne marche pas
      PrinterName := AnsiString(Printer.Printers[Printer.PrinterIndex]); // Imprimante par défaut
     
      if not OpenPrinterA(PAnsiChar(PrinterName), hPrinter, nil) then
        Exit;
      try
        FillChar(DocInfo, SizeOf(DocInfo), 0);
        DocName  := 'Open Cash Drawer';
        DataType := 'RAW';
        DocInfo.pDocName    := PAnsiChar(DocName);
        DocInfo.pOutputFile := nil;
        DocInfo.pDatatype   := PAnsiChar(DataType);
     
        if StartDocPrinterA(hPrinter, 1, @DocInfo) = 0 then Exit;
        try
          if not StartPagePrinter(hPrinter) then Exit;
          try
            WritePrinter(hPrinter, PAnsiChar(Cmd), Length(Cmd), BytesWritten);
          finally
            EndPagePrinter(hPrinter);
          end;
        finally
          EndDocPrinter(hPrinter);
        end;
      finally
        ClosePrinter(hPrinter);
      end;
    end;
    👉 Merci � tous pour vos aides, �a marche nickel maintenant 🎉

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] ouvrir caisse via port USB
    Par Uttam dans le forum VB.NET
    R�ponses: 2
    Dernier message: 09/05/2012, 20h30
  2. [VB.NET 2008] Ouvrir un tiroir caisse
    Par sigap dans le forum VB.NET
    R�ponses: 4
    Dernier message: 01/07/2009, 16h59
  3. Ouvrir un tiroir caisse
    Par egal10 dans le forum VB 6 et ant�rieur
    R�ponses: 1
    Dernier message: 31/10/2008, 15h59
  4. Ouvrir un tiroir-caisse
    Par cheveche dans le forum VBA Access
    R�ponses: 0
    Dernier message: 01/03/2008, 07h14
  5. Ouvrir le tiroir caisse
    Par 2nis dans le forum Access
    R�ponses: 5
    Dernier message: 24/08/2007, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo