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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| // Impression du ticket de caisse
I est un entier
nTotalGeneral est un réel
SI
sOuvre(PortImprimante,256,256) ALORS // Ouverture du port parallèle
//Ouvre caisse
sEcrit(PortImprimante,ESC + "p" + Caract(0)+ Caract(10) + Caract(10))
// Impression de l'entete du ticket
SI PAS
bImprimeLigne(DebutGras+" BOUTIQUE"+FinGras) ALORS
Erreur( "Erreur d'écriture sur le port n°"+PortImprimante,...
"Vérifiez que l'imprimante est bien connectée et allumée.")
sFerme(PortImprimante)
RETOUR
FIN
//bImprimeLigne("----------------")
bImprimeLigne("")
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
bImprimeLigne(DebutCompresse+Complète("Désignation",20)+" !Qté! Prix!"+FinCompresse) // ! Total"+FinCompresse)
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
// Impression des lignes du ticket
POUR
I=1 A TableOccurrence("TABLE")
SI
COL_TOTAL[I]<>0 ALORS // Impression si ligne non vide
// Formatage de la ligne
bImprimeLigne( DebutCompresse+Complète(COL_DESIGNATION[I],18)+" !"+...
NumériqueVersChaine(COL_QTE[I],"%2d")+" ! "+...
NumériqueVersChaine(COL_TOTAL[I],"%6.2f")+"!"+FinCompresse)
//NumériqueVersChaine(COL_TOTAL[I],"%6.2f")+FinCompresse)
// Cumul pour total
nTotalGeneral+=COL_TOTAL[I]
FIN
FIN
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
// Ligne de total
bImprimeLigne( DebutCompresse+Complète("Total à régler: ",30)+...
//NumeriqueVersChaine(nTotalGeneral)+FinCompresse)
NumériqueVersChaine(nTotalGeneral,"%6.2f")+FinCompresse)
//bImprimeLigne("")
//bImprimeLigne("")
bImprimeLigne( DebutCompresse+"Réglé le :"+...
DateVersChaine(DateSys())+" "+...
Gauche(HeureVersChaine(HeureSys()),5)+FinCompresse)
// Impression du pied du ticket
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
bImprimeLigne( DebutCompresse+Complète("Espèces : ",30)+...
//NumeriqueVersChaine(nTotalGeneral)+FinCompresse)
NumériqueVersChaine(Saisie2,"%6.2f")+FinCompresse)
bImprimeLigne( DebutCompresse+Complète("Rendu : ",30)+...
//NumeriqueVersChaine(nTotalGeneral)+FinCompresse)
NumériqueVersChaine(Saisie3,"%6.2f")+FinCompresse)
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
bImprimeLigne(" MERCI DE VOTRE VISITE")
bImprimeLigne(" A BIENTOT")
bImprimeLigne(DebutCompresse+Répète("-",38)+FinCompresse)
bImprimeLigne("")
bImprimeLigne("")
bImprimeLigne("")
bImprimeLigne("")
bImprimeLigne("")
bImprimeLigne("")
bImprimeLigne("")
//Couper
sEcrit(PortImprimante,ESC + "c0" + Caract(02) + ESC + "i")
sFerme(PortImprimante) // Fermeture du port parallèle
SINON
Info("Erreur d'ouverture du port.....!") // Erreur d'ouverture du port parallèle
FIN
Fin du code
Début procedure:
PROCEDURE
bImprimeLigne(sLigne)
// avec un retour automatique à la ligne
SI
sEcrit(PortImprimante,AnsiVersOem(Répète(" ",Marge)+sLigne+RC)) = 0 ALORS
RENVOYER
Faux
SINON
RENVOYER
Vrai
FIN |
Partager