Tiroir caisse

NewTech06 Messages postés 5 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 avril 2006 - 7 avril 2006 à 17:06
abdstar Messages postés 2 Date d'inscription vendredi 8 juillet 2011 Statut Membre Dernière intervention 4 septembre 2012 - 28 avril 2012 à 19:53
Salut a tous et a toutes ,
je pense que cé pour la 3éme fois que je pose ma question sur la possiblilité d'avoir
un code en VB pour l'ouverture d'un tiroir caisse lier a une Imprimante a ticket de type Epson TM-U220 .l'imprimante est connecter a l'ordinateur par RS232.
Merci Trés infiniment pour votre aident et à Trés bientôt
[mailto:Abdou_2255@hotmail.com Abdou_2255@hotmail.com]

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 avril 2006 à 18:12
Et en cherchant un peu ?? Dans la doc de ton imprimante ou sur internet

Ben moi je dirais qu'il suffit simplement de te connecter à ton imprimante, puis de lui envoyer la commande d'ouverture du tiroir caisse.

En sollicitant ton fidèle compagnon Google, tu serais tomber sur ton non-moins fidèle partenaire Epson qui t'aurais montrer cette page : http://www.pdv.epson.fr/support/faq/tm/tm007.htm

Pour utiliser un port série, si tu ne sais pas, il y a quantité de source sur ce site. Même l'exemple donné dans l'aide de VB devrai suffire pour ça.

Donc à moment donné dans ton code te devrais avoir à tapper la ligne suivante :

MsComm.output = Chr$(27) & Chr$(112) & Chr$(0) & Chr$() & Chr$()

Je ne sais pas à quoi correspond exactement les 2 derniers pamarètres (durée de l'impulsion certainement, mais codé comment ?) faut que tu vois de ton coté dans la doc de l'imprimante, ou en faisant des essais directement avec l'imprimente.



<hr size ="2" width="100%">
0
NewTech06 Messages postés 5 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 avril 2006
8 avril 2006 à 11:40
Merci pour votre réponse mais j'ai essyaer le code suivant mé dommage !!!
AppMain.MSComm1.InBufferCount = 0
AppMain.MSComm1.InBufferSize = 1024
AppMain.MSComm1.OutBufferSize = 1024
AppMain.MSComm1.InputMode = 0
AppMain.MSComm1.InputLen = 1
AppMain.MSComm1.RThreshold = 1
AppMain.MSComm1.SThreshold = 1


AppMain.MSComm1.Settings = "300,N,8,1"
AppMain.MSComm1.CommPort = Val(Right(Rs!com, 1))
AppMain.MSComm1.PortOpen = True


If AppMain.MSComm1.PortOpen = False Then
message = "Erreur d'ouverture du Port série N° " & AppMain.MSComm1.CommPort
MsgBox message
AppMain.MSComm1.PortOpen = False
Else
AppMain.MSComm1.Output = "WRITE" + vbCr
AppMain.MSComm1.PortOpen = False
End If
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
8 avril 2006 à 15:15
Quel est ton problème exactement avec ce code ?

Juste en passant un petit détail
AppMain.MSComm1.Output = "WRITE" + vbCr
AppMain.MSComm1.PortOpen = False
tu ferme le port trop vite, il faut attendre que tous les caractères aient été envoyés avant de fermer le port :
AppMain.MSComm1.Output = "WRITE" + vbCr
do
doevents
loop until AppMain.MSComm1.OutBufferCount=0
AppMain.MSComm1.PortOpen = False


0
NewTech06 Messages postés 5 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 avril 2006
17 avril 2006 à 12:06
oué ta raison , je vais prendre en compte cette remarque , oh je soufre de ce tirroir caisse , bon en tout cas merci bcp pour ton aide,
Ton Ami Abdel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NewTech06 Messages postés 5 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 avril 2006
17 avril 2006 à 12:42
A casy :
bas jé modifier mon code et j'utilise celui la :

MSComm1.CommPort = "2"
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True


If MSComm1.PortOpen = False Then
MsgBox "Erreur d'ouverture du Port série N° " & MSComm1.CommPort


MSComm1.PortOpen = False
Else
MSComm1.Output = Chr$(27) & Chr$(112) & Chr$(0) & Chr$(t1) & Chr$(T2)
Do
DoEvents
Loop Until MSComm1.OutBufferCount = 0
MSComm1.PortOpen = False
End If
!!!!! mais le port s'ouvre pas ???? il donne comme message :
impossible de définir l'état de communication il ya pt être un ou plusieur paramétre de communication non valide 'Error 8015'
t1 et t2 c'est pour envoyer des impulsions a l'imprimante en ms
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 avril 2006 à 09:11
Essaye avec ça : MSComm1.CommPort = 2, ça devrai aller un peu mieux je pense

Quant à T1 et T2, oui, c'est pour envoyer des impulsions. C'est certainement des valeurs numériques qui doivent avoir un rapport avec la durée de l'impulsion. Mais c'est spécifique à ton tiroir caisse, pour ça faut que tu regarde de sa doc pour savoir quoi y mettre comme valeur.

PS : Dans ce cas tu utilise le port COM2, vérifie bien qu'il existe sur ton
PC et que tu es branché sur la bonne prise. Sur les PC récents le COM2
est rarement cablé à l'arrière du PC et a même tendance à ne plus
exister dans le système.


0
abdstar Messages postés 2 Date d'inscription vendredi 8 juillet 2011 Statut Membre Dernière intervention 4 septembre 2012
28 avril 2012 à 19:53
Mon tiroir baud rate : 9600,N,8,1
Mode com1:9600
content-"0"

SVP SVP aider moi a écrire un code source vb 6.0 pour que le tiroir sois ouvert

et merci
0
Rejoignez-nous