🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #1789

Re: Lettore codici a barre

#1789
From: POWERMOS
Date: Wed, 21 Jan 2004 01:28
143 lines
8113 bytes
"Luca" <xxx@xxx.it> ha scritto nel messaggio
news:GO9Pb.118368$VW.4799566@news3.tin.it...
> Dovrei realizzare un programma di Gestione Magazzino che utilizza un
lettore
> ottico per il codice a barre dei prodotti.
> Dove posso trovare istruzioni su come gestire il Lettore? Quale lettore mi
> consigliate di utilizzare??
> Grazie mille.
> Ciao
> Luca


Dipende dal tipo di applicazione che devi sviluppare.

In modo molto pratico, un codice a barre rappresenta un sistema per
codificare in modo comprensibile per un dispositivo elettronico una
informazione di tipo alfanumerica. In sostanza una parola oppure una
chiave di codifica per un prodotto che deve essere stoccato a magazzino
potr� essere tradotta in un insieme di elementi grafici comprensibili ad un
dispositivo di lettura come una pistola a scansione oppure una penna ottica.
ovviamente la transcodifica � di tipo biunivoco, quindi ad un certo
carattere corrisponder� una ed una sola sequenza di simboli grafici e
viceversa.
La struttura geometrica del codice, quindi le regole che consentono di
costruirlo in modo tale da renderlo comprensibile ai dispositivi di lettura,
sono piuttosto rigide e servono per costruire il font che verr� utilizzato
per la creazione dell'etichetta da stampare.


1) per creare un codice a barre basta Word ed un font TTF relativo al codice
che si vuole creare. In altre parole il codice viene usato come se si
trattasse di un normale font TTF (ad esempio Arial o similari).

2) il passo successivo consiste nel decide re quale tipo di codice a barre
utilizzare per la propria applicazione. Di codici ve ne sono a iosa, forse
il pi� comune di tutti, reperibile attraverso la rete a costo 0 ( ergo
GRATIS!!!!) � il CODE 39. Per maggiori delucidazioni circa questo tipo di
codice basta effettuare una ricerca sul web usando come oggetto CODE39
oppure CODE 39.
Per il download del font si pu� andare al seguente URL:

http://www.clancysystems.com/newsite/code39.asp

ed effettuare il download del font.

3) Si deve informare il SO, nel ns caso Windows, che si intende aggiungere
al gi� nutrito elenco di font di caratteri quello relativo al codice a barre
scelto. Per fare questa operazione si deve andare sul menu START->
Impostazioni -> Pannello di Controllo
selezionare la voce Caratteri. Una volta aperta la finestra si seleziona dal
menu File la voce:

Installa nuovo tipo di carattere ...

a questo punto Windows richiede il percorso dove si trova il font da
installare, quindi si dovr� andare nella cartella dove si �
effettuato il download del font e procedere con l'installazione.

Osservazione:
-------------
Alla fine penso che sia la stessa cosa andare a copiare brutalmente
il font nella cartella Caratteri, ma usando questa procedura non si
ha nessun rischio di fare degli errori.

4) A questo punto si apre un foglio di Word, si digita la frase o la parola
che si desidera codificare secondo lo standard CODE 39 avendo
l'accortezza di iniziare la frase con * e terminarla con *.
A tale proposito prima di effettuare l'operazione si dovr� disattivare
l'opzione di completamento automatico di Word che associa
alle parole racchiuse fra una coppia di * la stessa parola, ma in grassetto.
Per fare questo si deve andare nel menu di Word Strumenti e selezionare la
voce Correzione automatica. A questo punto si seleziona la cartella
Formattazione automatica durante la digitazione e si elimina il segnop di
spunta alla voce

*Grassetto* e _Corsivo_ con formattazione reale

Si chiude il tutto e si ritorna al nostro foglio originale.

Si evidenzia la frase/parola da tradurre (che ricordo deve essere
compresa fra i delimitatori *) e si applica lo stile di carattere CODE 39
(lo si riconosce poich� costituito da una serie di barre affiancate). A
questo punto dovrebbe comparire la codifica cercata.

5) Per verificare se il sistema funziona e tutto � stato fatto
correttamente io ho usato una pistola in modalit� terminale della Datalogic
per verificare se la lettura era corretta. Il risultato � stato ottimo, con
stampa a 600 DPI sono riuscito a leggere correttamente (al primo colpo),
codifiche con size del carattere di 15 punti.

Se non sapete cosa � una pistola in modalit� terminale faccio una piccola
digressione. I terminali di lettura per bar code oltre a costare parecchio
(da 200 ? fino anche a 900 ?) si suddividono in
due famiglie:

- penne ottiche / pistole in modalit� terminale o emulazione di terminale
- pistole di tipo terminali batch

La prima famiglia consente di collegare il dispositivo di lettura
direttamente in parallelo alla tastiera PS/2 tramite un cavo apposito
fornito con il lettore stesso (che ricordo essere un dispositivo con
interfaccia simile I2C). Il cavo presenta una derivazione in cui si
inserisce il connettore della tastiera, l'altra terminazione si inserisce
nel PC dove normalmente si inserirebbe la tastiera.
Per provare la pistola basta aprire il NotePad e sparazzare su un qualsiasi
codice che capiti a tiro (ad esempio su una rivista oppure il ns codice a
barre CODE 39) per vedere comparire la parola decodificata in chiaro sul
monitor. Si chiama emulazione di tastiera/terminale proprio perch� � come se
si digitasse direttamente
sulla tastiera.
Naturalmente nelle specifiche della pistola bisogna sincerarsi che abbia gli
appositi algoritmi per decodificare lo standard di interesse. In genere,
comunque, il CODE39 � leggibile da tutte le pistole di questo tipo.
La penna ottica ha una connessione simile, ma costo mooolto di meno (circa
90?), ma ha lo svantaggio di richiedere allenamento all'uso e di consumarsi
(la punta se ne va per attrito).

La seconda famiglia, quella dei terminali batch, consente di effettuare le
scansioni del codice e di effettuare operazioni di memorizzazione dei codici
internamente alla pistola stessa. In genere sono dotate di tastierino
alfanumerico per consentire ad esempio l'input di dati quali la quantit� o
quant'altro si desideri.
Tali pistole sono programmabili mediante software proprietario attraverso la
porta seriale RS232 oppure USB. Al termine delle operazioni la pistola si
ripone nella propria base (definita in gergo calamaio) e si pu� attivare da
PC la procedura per il trasferimento del file relativo alle operazioni
effettuate (da qui il nome batch).

Per concludere, se ti interessa, ti posso fornire un applicativo in Excel,
senza grosse pretese, scritto in 5' ed in VBA che consente di tradurre dei
codici, formattare un etichetta e richiedere all'utente se stamparla o meno.
Il tutto ovviamente funzionante e testato con pistola in modalit� emulazione
di terminale (una GRIPHON della Datalogic che mi sono fatto imprestare
perch� troppo cara per poterla comprare solo per fare esperimenti  ;-P).

Per ora e tutto, spero che sia tutto chiaro, in ogni caso per altre info
sono a disposizione.
Ciao
Pow
_____________________________
Ama il tuo mestiere con passione
E' il significato della tua vita
Auguste Rodin (1840-1917)
Technical Details
Message-ID: <%AkPb.156404$_P.5650759@news4.tin.it>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!irazu.switch.ch!switch.ch!newsfeed.nextoneserver.com!news-out.tin.it!news-in.tin.it!news4.tin.it.POSTED!not-for-mail
References: <GO9Pb.118368$VW.4799566@news3.tin.it>

Show Full Headers
Complete Article Headers
X-Google-Language: ITALIAN,ASCII
X-Google-Thread: f94ee,6134fb44ea22d473
X-Google-Attributes: gidf94ee,public
X-Google-ArrivalTime: 2004-01-20 17:28:28 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!irazu.switch.ch!switch.ch!newsfeed.nextoneserver.com!news-out.tin.it!news-in.tin.it!news4.tin.it.POSTED!not-for-mail
From: "POWERMOS" <flatiron1NOSPAM@tin.it>
Newsgroups: free.it.visual-basic
References: <GO9Pb.118368$VW.4799566@news3.tin.it>
Subject: Re: Lettore codici a barre
Lines: 145
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Message-ID: <%AkPb.156404$_P.5650759@news4.tin.it>
Date: Wed, 21 Jan 2004 01:28:27 GMT
NNTP-Posting-Host: 80.116.134.162
X-Complaints-To: newsmaster@tin.it
X-Trace: news4.tin.it 1074648507 80.116.134.162 (Wed, 21 Jan 2004 02:28:27 MET)
NNTP-Posting-Date: Wed, 21 Jan 2004 02:28:27 MET
Organization: TIN