SERIAL PRINTER [Résolu]

Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
- - Dernière réponse : survcopt
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
- 3 juin 2010 à 22:42
Bonjour,
Je voudrais savoir si quelq'un aurait une solution pour piloter une imprimante serie TPS700.
Apparemment le protocole et le POS , j'ai le SDK mais je n'arrive pas à démarrer je tourne en rond .
Merci pour votre aide


www.survey-copter.com
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
3
Merci
Merci
Mais j'ai trouvé plus simple en utilisant le serial port et le protocole POS

try
{
// Open the port
serialPort1.Open();

serialPort1.WriteLine(Convert.ToChar(0x1B) + "@");
serialPort1.WriteLine(Convert.ToChar(0x1B) + "a" + Convert.ToChar(0x0)); //à gauche

serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x1));
serialPort1.WriteLine("Ticket N :") ;
serialPort1.WriteLine("Paiement");
serialPort1.WriteLine(" Gratuit [ ]");
serialPort1.WriteLine(" Cheque [ ]");
serialPort1.WriteLine(" Especes [ ]");
serialPort1.WriteLine(" ");
serialPort1.WriteLine("ABO N : ______________");

serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x20));
serialPort1.WriteLine(DateTime.Today.Day.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Year.ToString());
serialPort1.WriteLine(DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString());
serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x31));
serialPort1.WriteLine(PlayerName);
serialPort1.WriteLine(CourseType);
serialPort1.WriteLine("SIMU" + Simu.ToString() );
serialPort1.WriteLine(" ");
serialPort1.WriteLine(" ");
serialPort1.WriteLine(" ");
serialPort1.WriteLine(Convert.ToChar(0x1D) + "V" + Convert.ToChar(0x1));

serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x1));
serialPort1.WriteLine("Ticket N :");
serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x20));
serialPort1.WriteLine(DateTime.Today.Day.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Year.ToString());
serialPort1.WriteLine(DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString());
serialPort1.WriteLine(Convert.ToChar(0x1D) + "!" + Convert.ToChar(0x31));
serialPort1.WriteLine(PlayerName);
serialPort1.WriteLine(CourseType);
serialPort1.WriteLine("SIMU" + Simu.ToString());


serialPort1.WriteLine(" ");
serialPort1.WriteLine(" ");
serialPort1.WriteLine(" ");
serialPort1.WriteLine(Convert.ToChar(0x1D) + "V" + Convert.ToChar(0x0));

Application.DoEvents();
serialPort1.Close();


www.survey-copter.com

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de survcopt
Messages postés
7
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
3 juin 2010
0
Merci
Bonjour,

En c#, il faut utiliser ce qu'on appelle le "Pos for .Net" que l'on trouve ici.
De mémoire avec le téléchargement de "Pos4Net", il y a un exemple.

Voici un lien sur l'architecture du POS ici
L'aide en ligne de microsoft ici

De plus le device qui vous intéresse est le PosPrinter

Et pour finir, bon courage avec ce "protocole POS" qui n'est pas simple lorsque l'on fait de l'auto-apprentissage.

Bonne journée
Commenter la réponse de jul1409
Messages postés
7
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
3 juin 2010
0
Merci
Re,
Encore une info :
pour tout périphérique Pos, il faut passer par
monPerif.Open( );
monPerif.Claim( );
monPerif.Enable = true;

avant de pour voir réellement dialoguer avec ce périphérique.

et à la fin, ne pas oublier :
monPerif.Enable = false;
monPerif.Release( );
monPerif.Close( );

@+
Commenter la réponse de jul1409
Messages postés
7
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
3 juin 2010
0
Merci
Il y a confusion,
ceci n'est pas du POS ...
c'est de la commande Escape de bas niveau, en fait vous dialoguez directement avec l'imprimante au lieu de passer par la couche intermédiaire POS.

Enfin si ça marche tant mieux parce que le POS y'faut s'le faire ...

Bonne continuation
Commenter la réponse de jul1409
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
0
Merci
Merci mais comme ça c'est plus rapide


www.survey-copter.com
Commenter la réponse de survcopt