Newsgroup: it.comp.lang.visual-basic
Titolo: Codice VB per registratore di cassa

Salve a tutti, sto sviluppando un gestionale per un negozio, il registratore
di cassa ha la possibilità di essere collegato al PC tramite cavetto seriale
in modo che con opportuna programmazione si può stampare lo scontrino
direttamente dal gestionale. Nel manualetto fornito con il registratore di
cassa c'era una semplice routine in GWBASIC che serviva allo scopo. Potete
dirmi quale accortezze dovrei prendere per adattare il codice in VB?
Il codice è questo:
10    OPEN "COM1: 2400, E, 7, 1, CS, DS" AS#1
20    PRINT "IMPOSTA SU ECR LA SEQUENZA 792 O [SUBTOTALE] CHIAVE Z"
30    GOSUB 100
40    PRINT #1, "KR100R1 COCA COLA"
50    GOSUB 100
60    PRINT #1, "KRT1"
70    GOSUB 100
80    PRINT #1, "KX794ST"
90    END
100  LINE INPUT #1, A$: PRINT A$: IF A$ <> CHR$(4) THEN 100
110  RETURN
Questo è il codice descritto. Praticamente tutti quei print #1 non sono
altro che i comandi impartiti come stringhe al registratore di cassa
(chiamato ECR), come per esempio la riga 40, dove "KR" è il codice che
simula la battitura della tastiera del ECR, "100" sono le lire che costa il
prodotto, "R1" è il reparto di appartenenza del prodotto, (sull'ECR si
possono impostare 10 diversi reparti) ed infine "Coca Cola" è il testo che
viene scritto sullo scontrino in corrispondenza del prezzo inviato e del
reparto scelto. Poi nella riga 60 ed 80 ci sono i codici di chiusura della
transazione. Non è molto complicato da leggere, però ci sono un paio di cose
che non capisco. La prima è se l'apertura del collegamento seriale descritta
nella riga 10 vale anche su VB, para para com'è scritta qui. Non ho mai
provato ad usare la COM e quindi sono un pò spiazzato. Comunque su una prova
che ho fatto pare che la riga viene digerita tranquillamente. La seconda
invece è la linea 100. Qui nasce un vero problema poichè la 10 definisce il
file #1 sicuramente come file di output visto che di seguito vengono usate
delle Print #1. Poi però nella 100 abbiamo un Line Input e quindi il #1
viene usato come input. Ed infatti sempre dalla prova che ho fatto il codice
ha provocato l'errore. Come va affrontato questo problema? Dovrei di volta
in volta chiudere il file e riaprirlo come input per poi fare l'inverso dopo
aver fatto il controllo della linea 100, oppure esiste un altro metodo?
Boooo!!!!! Ho un pò di dubbi.
Spero qualcuno possa darmi una mano, grazie mille a tutti per adesso.
Ciao, Ciao.

 
[cut]
ti consiglio di usare il controllo "Microsoft Comm control 6.0" e' 
specifico per quello che vuoi fare.
esempio della open:
MSComm1.Settings = "2400,e,7,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True
esempio di 'print'
MSComm1.Output = "KR100R1 COCA COLA"
esempio di 'input'
    Do
       DoEvents
       Buffer$ = Buffer$ & MSComm1.Input
    Loop Until InStr(Buffer$, Chr$(4))
comunque nella guida MSDN trovi tutto
bye
r

110  RETURN
Questo è l'esempio presente nel manuale dell'NCR 2140 o simili.
Dovrei avere qualcosa inerente, che avevo usato per testare i
registratori e i cavi di collegamento.
Se ti può interessare, fammi un fischio.
Ciauz
-- 
web: 
http://www.ponchio.it
Replay to: *[[banjo]]spamdim..@**
ponchio.it
**
"E' un vero peccato che tutte le persone che sanno come far
funzionare il paese siano troppo occupate a guidare taxi o
a tagliare capelli" - George Burns

 Se ti puņ interessare, fammi un fischio.
FFFFIIIIIUUUUUUUUU!!!!!!!!!!!!!!!
Interessatissimo, ti ringrazio tantissimo. Per eventuali contatti in privato
usa pure 
tso...@tiscalinet.it
.
Sinceramente non so se mi parte il messaggio, č da ieri che sto tentando di
rispondere anche a Nerone ma l'invio mi da errore e non so da cosa dipende.
In caso colgo l'occasione anche per ringraziarlo dei suoi consigli.
Grazie mille a tutti e due.
Ciao, Ciao.

Ciao, Ciao.


 Altrimenti ti do un paio di dritte su come sistemare il tutto.
Ti ringrazio davvero tanto, mi faresti un enorme piacere.
Aspetto tue notizie allora.
Ciao, Ciao.

 scrisse:

Accidenti, ho buttato via tutto quando ho cambiato lavoro 2 anni
fa....
Mi spiace
AranBanjo


perchč quest'uomo ha il time inpostato nel 2067?
-- 
WWW.AKUMA.SPLINDER.COM
§§-Blog, funny, fashion-§§