OVH Cloud OVH Cloud

[WD10] imprimantes ticket

17 réponses
Avatar
jacques trepp
Bonjour,
dans le cadre d'un logiciel de caisse, j'utilise des imprimantes ticket
(citizen cbm1000). Je n'utilise pas de pilote windows et j'écris
directement sur le port com, pour des raisons évidentes de rapidité.
Cela fonctionne très bien, et il y a peu de commandes à mettre en oeuvre
pour activer le massicot ou le tiroir.

La où ça se gâte, c'est quand j'ai besoin d'imprimer une commande sur
plusieurs imprimantes (exemple, dans une commande, j'ai des boissons et
des sandwitches. Je dois imprimer les boissons sur l'imprimante du bar,
le reste sur l'imprimante cuisine).

Sachant que je peux avoir plusieurs ensembles ordi+imprimante ticket,
vous conviendrez que ça se complique encore plus.

Comment aborder ce problème ?
j'ai entendu parler des pilotes Opos. J'ai entendu parler aussi de
"serveurs d'imprimantes ticket" (écrits en assembleur, je crois).

Auriez-vous un retour d'expérience à ce sujet.

PS. Vu la lenteur désespérante des pilotes windows pour ce genre
d'imprimante, je préfèrerais attaquer directement les ports com.
question : comment "attraper" le port com1 d'une autre machine ?

Allez... bon week-end :)

--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de spam.trepp@free.fr
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com

7 réponses

1 2
Avatar
Eric
jacques trepp a écrit :
Eric a écrit :

par lancer volontairement une impression tu entends quoi , un autre
soft que le tiens ?




Non. En fait, je peux de mon ordi imprimer un ticket, pendant que mon
service a détecté une impression à effectuer, et est en cours.
Mais dans ce cas, je ne devrais pas pouvoir ouvrir le port com.
Je n'ai jamais utilisé les threads. ça pourrait m'aider ?




je préfére un serveur de socket, j'imagine que c'est pour traiter des
imprimantes de production en cuisine ou autre, car le petit hic, c'est
que si les utilisateurs ferment la caisse, ben t'as plus de thread sur
ton soft de caisse, donc timprime plus :-(
il vaut mieux un serveur par socket sur la caisse ( en icone dans le
systray par exemple)

juste une idée

eric
--
Les Lapys le lapy world
howto-contribution-forum pour SME
http://leslapys.com
Avatar
Eric
jacques trepp a écrit :
Eric a écrit :

par lancer volontairement une impression tu entends quoi , un autre
soft que le tiens ?




Non. En fait, je peux de mon ordi imprimer un ticket, pendant que mon
service a détecté une impression à effectuer, et est en cours.



exact que tu ne peux pas accéder au com local car il seras utilisé
par une autre appli, mais le hic, tu bloques ton utilisateur, donc il
vas raller, donc le mieux c'est de faire tout passer par le service
d'impression maison, ce qui libére la caisse, car dans un restaurant, en
général les clients veulent souvent tous partir en même temps donc ca
bouchonne à la caisse :-))


Mais dans ce cas, je ne devrais pas pouvoir ouvrir le port com.
Je n'ai jamais utilisé les threads. ça pourrait m'aider ?




sinon je suis en train de développer à peu prés le même systéme que toi,
mais pour l'hotellerie / restauration ( avec les chambres en plus)

eric


--
Les Lapys le lapy world
howto-contribution-forum pour SME
http://leslapys.com
Avatar
Vbig
jacques trepp avait écrit le 22/05/2006 :
Vbig a écrit :


Personnellement, j'utilise toujours les drivers windows.
Et pour avoir une impression aussi rapide qu'avec un pilotage via port COM,
il suffit d'utiliser les polices imprimantes.



On parle bien de la même imprimante Citizen CBM 1000 II partial Cut ?
Parce que je viens d'installer le pilote windows.
Je n'ai vu nulle part d'option concernant les polices de l'imprimante.
De plus, l'impression de la page de test a pris plus d'une minute :(

Nom du pilote : RASDD.DLL
Fichier de données : CBM1000.DLL
Fichier de configuration : RASDDUI.DLL
Fichier d'aide RASDDUI.HLP
Version de pilote : 3.01



Oui, j'ai au moins un client qui utilise cette imprimante.
C'est normal pour la page de test, elles est graphique.
Pour récuperer les noms de police de l'imprimante =>
Word ou WordPad, ecrire un ptit texte et indiquer que impression sur la
CBM 1000.
dérouler la listes des polices : Il y a été ajouté la liste des polices
de l'imprimante (Word sais afficher l'icone 'imprimante' davant ces
polices, wordpad non)

Il faut utiliser ces noms dans les icréépolice en wlangage.

Mon prog de paramétrage d'édition ticket prévoi ces paramétrages.
L'avantage est de ne pas s'occuper de l'imprimante qui va être utilisé
(pour le programme, pas pour l'opérateur qui paramètre l'impression du
ticket). Et dans le cas ou on a une imprimante ticket thermique sur
port paralléle, on peut utiliser les police graphique de windows, pour
les imprimante matricielle ou sur port com, mieux vaux utiliser les
polices imprimantes.
Avatar
jacques trepp
Vbig a écrit :
jacques trepp avait écrit le 22/05/2006 :

Vbig a écrit :


Personnellement, j'utilise toujours les drivers windows.
Et pour avoir une impression aussi rapide qu'avec un pilotage via
port COM, il suffit d'utiliser les polices imprimantes.




On parle bien de la même imprimante Citizen CBM 1000 II partial Cut ?
Parce que je viens d'installer le pilote windows.
Je n'ai vu nulle part d'option concernant les polices de l'imprimante.
De plus, l'impression de la page de test a pris plus d'une minute :(

Nom du pilote : RASDD.DLL
Fichier de données : CBM1000.DLL
Fichier de configuration : RASDDUI.DLL
Fichier d'aide RASDDUI.HLP
Version de pilote : 3.01




Oui, j'ai au moins un client qui utilise cette imprimante.
C'est normal pour la page de test, elles est graphique.
Pour récuperer les noms de police de l'imprimante =>
Word ou WordPad, ecrire un ptit texte et indiquer que impression sur la
CBM 1000.
dérouler la listes des polices : Il y a été ajouté la liste des polices
de l'imprimante (Word sais afficher l'icone 'imprimante' davant ces
polices, wordpad non)

Il faut utiliser ces noms dans les icréépolice en wlangage.

Mon prog de paramétrage d'édition ticket prévoi ces paramétrages.
L'avantage est de ne pas s'occuper de l'imprimante qui va être utilisé
(pour le programme, pas pour l'opérateur qui paramètre l'impression du
ticket). Et dans le cas ou on a une imprimante ticket thermique sur port
paralléle, on peut utiliser les police graphique de windows, pour les
imprimante matricielle ou sur port com, mieux vaux utiliser les polices
imprimantes.





Ok, merci. Je vais regarder aussi dans ce sens. J'avais déjà utilisé
l'histoire des polices avec une autre matricielle.

--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com
Avatar
jacques trepp
Vbig a écrit :


Oui, j'ai au moins un client qui utilise cette imprimante.
C'est normal pour la page de test, elles est graphique.
Pour récuperer les noms de police de l'imprimante =>
Word ou WordPad, ecrire un ptit texte et indiquer que impression sur la
CBM 1000.
dérouler la listes des polices : Il y a été ajouté la liste des polices
de l'imprimante (Word sais afficher l'icone 'imprimante' davant ces
polices, wordpad non)

Il faut utiliser ces noms dans les icréépolice en wlangage.

Mon prog de paramétrage d'édition ticket prévoi ces paramétrages.
L'avantage est de ne pas s'occuper de l'imprimante qui va être utilisé
(pour le programme, pas pour l'opérateur qui paramètre l'impression du
ticket). Et dans le cas ou on a une imprimante ticket thermique sur port
paralléle, on peut utiliser les police graphique de windows, pour les
imprimante matricielle ou sur port com, mieux vaux utiliser les polices
imprimantes.





Je confirme avec plaisir. Le code suivant est aussi rapide que
l'impression directe :

iAperçu(0)
iCréePolice(1,10,iNormal,"7.5 cpi")
texte est une chaîne = "Ceci est un TEST"
i est un entier
POUR i = 1 A 30
iImprime(iPolice(1)+texte)
FIN
POUR i = 1 A 4
iSauteLigne()
FIN
iFinImprime()

La cerise sur le gateau, x'est que le ifinimprime déclenche le massicot.

merci


--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com
Avatar
jacques trepp
Stéphane Miqueu a écrit :


C'est pas grave Jacques ... tu n'as plus qu'à ré-écrire toutes tes
routines d'impression ... :D




et fous troufez ca trolle ?
:)

--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com
Avatar
Stéphane Miqueu
jacques trepp a présenté l'énoncé suivant :

Je confirme avec plaisir. Le code suivant est aussi rapide que l'impression
directe :

iAperçu(0)
iCréePolice(1,10,iNormal,"7.5 cpi")
texte est une chaîne = "Ceci est un TEST"
i est un entier
POUR i = 1 A 30
iImprime(iPolice(1)+texte)
FIN
POUR i = 1 A 4
iSauteLigne()
FIN
iFinImprime()

La cerise sur le gateau, x'est que le ifinimprime déclenche le massicot.

merci



C'est pas grave Jacques ... tu n'as plus qu'à ré-écrire toutes tes
routines d'impression ... :D

--
Ami Calmant
Stéphane
1 2