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

WinDev Discussion :

Impressions tickets de caisse [WD19]


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Impressions tickets de caisse
    Bonjour à tous,

    Je vais essayer de vous expliquer simplement mon problème.

    Depuis quelques temps j'essaye de faire mes impressions tickets avec les fonctions sOuvre(), sEcrit() et sFerme()... Mais voilà je me heurte à plusieurs problèmes que je n'explique pas vraiment.
    Il faut savoir que la base de la source du code ne vient pas de moi, j'ai récupéré ce que j'ai trouvé sur le net et j'ai adapté à ma sauce.

    Je travaille avec une Epson TM-H6000IV

    Mon problème est dans l'en-tête il me rogne la première lettre ou chiffre, l'ensemble de mon ticket est en gras et certaines lignes sont centrées alors qu'elles ne doivent pas l'être.
    Mon plus gros problème est l'apparition à chaque début de ticket d'un "I" majuscule sauf la toute première impression après que l'imprimante soit allumée. Malheureusement je ne peux pas vous montrer un exemple de ticket qu'elle m'imprime.

    Voici mon code :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    // Variables
    NoPort est un entier = 1
    sDebutCompresse est une chaîne = Caract(15)
    sFinCompresse est une chaîne = Caract(18)
    sDebutGras est une chaîne = Caract(27)+"E"
    sFinGras est une chaîne = Caract(27+"F")+"F"
     
    // Ouverture de COM1
    bLigneCom1 est un booléen = sOuvre(NoPort, 5000, 5000)
     
    // Impression de l'entete du ticket
    HLitRecherchePremier(Sites,IDSites,gnIdSite)
    ImprimeLigne(Caract(27)+"a"+Caract(1),0,NoPort)
    ImprimeLigne(sDebutGras+Sites.Designation_Site+sFinGras,0,NoPort)
    ImprimeLigne(sDebutGras+Sites.Adresse_Site+sFinGras,0,NoPort)
    ImprimeLigne(sDebutGras+Sites.Cp_Site+ " " +Sites.Ville_Site+sFinGras,0,NoPort)
    ImprimeLigne("",3,NoPort)
    ImprimeLigne(sDebutCompresse+Caract(27)+"a"+Caract(0)+sFinCompresse,0,NoPort)
    ImprimeLigne(sDebutCompresse+Complète("Numéro de régie: "+Sites.Numero_Regie,50)+ sFinCompresse,3,NoPort)
    ImprimeLigne(sDebutCompresse+Complète("Ticket N° "+nLIB_N,50)+sFinCompresse,3,NoPort)
    ImprimeLigne(sDebutCompresse+Répète("-",39)+sFinCompresse,3,NoPort)
    ImprimeLigne(sDebutCompresse+Complète("Article",20)+"Qte         Prix"+sFinCompresse,3,NoPort)
    ImprimeLigne(sDebutCompresse+Répète("-",39)+sFinCompresse,3,NoPort)
     
    // Impression des lignes du ticket
    HExécuteRequête(REQ_Affiche_Info_Recu,hRequêteDéfaut,FEN_Choix_facture.gNumVente)
    POUR TOUT REQ_Affiche_Info_Recu 
                 sPrixTTC est une chaîne = NumériqueVersChaîne(REQ_Affiche_Info_Recu.Prix_TTC,"10.2f")
                 ImprimeLigne(sDebutCompresse+Complète(REQ_Affiche_Info_Recu.Libelle_Produit,20)+REQ_Affiche_Info_Recu.Quantite+"       "+sPrixTTC+sFinCompresse,3,NoPort)
    FIN
    ImprimeLigne(sDebutCompresse+Répète("-",39)+sFinCompresse,3,NoPort)
     
    // Pied du ticket
    MonPrixTotalTTC est un entier = FEN_Choix_facture.gMontantTTC
    sPrixTotalTTC est une chaîne = NumériqueVersChaîne(MonPrixTotalTTC,"6.2f")
    ImprimeLigne(sDebutCompresse+Complète("Total à régler:"+sPrixTotalTTC+" EUR",45)+sFinCompresse,3,NoPort)
    ImprimeLigne("",3,NoPort)
    ImprimeLigne(ChaîneConstruit(sDebutCompresse+"Réglé le %1 à %2", DateVersChaîne(DateDuJour()),HeureVersChaîne(Maintenant(),"HH:MM"))+sFinCompresse,3,NoPort)
    ImprimeLigne("",3,NoPort)
     
    // Impression du pied du ticket
    ImprimeLigne(Caract(27)+"a"+Caract(1)+sDebutCompresse+Complète("MERCI DE VOTRE VISITE",21)+sFinCompresse,0,NoPort)
    ImprimeLigne(sDebutCompresse+Complète("A BIENTOT",9)+sFinCompresse,0,NoPort)
    ImprimeLigne("",3,NoPort)
    ImprimeLigne("",3,NoPort)
     
    // Coupe le ticket
    sEcrit(NoPort," " +Caract(0xA)+Caract(0xA)+Caract(0xA)+Caract(0xA))
    sEcrit(NoPort,Caract(0x1D)+"V"+Caract(0x1)+Caract(0x49))
    Multitâche()
    sFerme(NoPort)

    Voici le code d'écriture d'une ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SI sEcrit(NumPort,AnsiVersOem(Répète(" ",nMarge)+sLigne+RC)) = 0 ALORS
                ErreurDéclenche(1,"Erreur d'écriture sur le port n°" + NumPort+RC+ "Vérifiez que l'imprimante est bien connectée et allumée.")
    FIN

    Pour le coup dans l'en-tête j'ai quelque chose du genre :

    I
    Mairie X
    56 rue X
    27000 X

    Pour la fin du ticket le : "Réglé le XX/XX/XXXX à XX:XX" est centré alors que je ne le désire pas.
    Pour finir le tout est en gras.

    Merci d'avance pour votre aide

    Bon dev

    ps : Désolé pour l'indentation je n'arrive pas à la faire avec la balise QUOTE
    Normal c'est avec les balises CODE (bouton juste à côté )

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Pour éviter les problèmes de séquences ESC, il faut utiliser la fonction iescape de PCSOFT, cela devrait résoudre tes problèmes
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse EDM-TAHITI mais j'ai résolu mon problème et j'ai une impression propre qui répond à mes attentes.

    Merci pour votre aide

    Bon dev'

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Je suis également entrain de travailler sur l'édition d'un ticket de caisse. Pourrais tu me donner un peu plus de détails sur ton code stp,notamment pour savoir comment tu fais pour centrer le texte sur une ligne, pour mettre en gras une ligne, et savoir à quoi correspond tes chaines sDebutCompresse et sFinCompresse ?
    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Impression de ticket de caisse c# avec imprimante de ticket thermique
    Par didifoot11 dans le forum Développement Windows
    Réponses: 2
    Dernier message: 02/03/2015, 15h10
  2. Impression page php en ticket de caisse
    Par david2511 dans le forum Langage
    Réponses: 4
    Dernier message: 10/09/2013, 21h50
  3. [Débutant] impression ticket caisse
    Par fsmmast dans le forum C#
    Réponses: 4
    Dernier message: 23/08/2012, 00h31
  4. [PHP 5.3] Impression ticket de caisse php/javascript
    Par malamine19 dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2012, 16h08
  5. Impression avec une imprimante à ticket de caisse
    Par freud dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 13h50

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