|
|
IN-VESTI DNW!!! Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta. Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni Effettua il pagamento usando IWBank Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione. Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt. Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!! .:DotNetWork Founders:.
|
|
|
|
|
c# e codici a barre
Ultimo Post 10 feb 2009 07.50 by Max. 12 Risposte.
|
Ordina:
|
 Posts:11
 |
| 09 feb 2009 12.45 |
|
CIAO A TUTTI
Avrei bisogno di lavorare con i codici a barre solo che sono proprio a zero sul tema e la mia richiesta era se conoscevate un qualche link che mi possa aiutare ad impostare il problema.....
A parte l'interfacciamento con un lettore che dovrò comunque studiare...per partire dalle cose semplici è possibilie trasformare/visualizzare la colonna di un datagrid che contiene una stringa alfanumerica in un codice a barre???.....basta un font o la cosa è in realtà molto più complessa....??? |
|
|
|
|
 Posts:663
 |
| 09 feb 2009 13.24 |
|
Per quanto riguarda il lettore devi calcolare che dipende dal tipo prescelto. In qanto esistono lettori che non sono altro emulatori della tastiera. Infatti alcuni vanno collegati proprio al PS/2 della tastiera. Per quanto riguarda la visualizzazione in una datagrid penso il tutto si risolva con un font. Comunque dato che in passato ho fatto qualche ricerca in merito se trovo il materiale te lo posto. HTH Francesco |
|
|
|
|
 Posts:241
 |
| 09 feb 2009 13.28 |
|
Ciao, in internet puoi trovare molto materiale informativo, addirittura anche del codice! Ci sono diversi tipi di codici a barre basati su standard industriali, il più diffuso è EAN/UPC http://www.indicod-ecr.it/chisiamo/manuale/13_Capitolo_10-Parte_II.pdf Devi solo decidere se scriverti da solo il codice per disegnare un determinato tipo di barcode o se comprare dei componenti già pronti. A parte l'interfacciamento con un lettore che dovrò comunque studiare Noterai che un lettore di codici a barre è paragonabile ad una comune tastiera, non avrai quindi grosse difficoltà ad interfacciarti con esso. per partire dalle cose semplici è possibilie trasformare/visualizzare la colonna di un datagrid che contiene una stringa alfanumerica in un codice a barre??? Di certo non esiste una colonna di defautlt che visualizzi un codice a barre e non credo che ci sia qualcosa in giro. Cmq una volta che riuscirai a disegnarti un barcode non dovrai fare altro che convertirlo in immagine bitmap, così potrai visualizzarlo comodamente in una colonna del tipo ImageColumn. basta un font o la cosa è in realtà molto più complessa....??? E' molto più complessa perchè un codice a barre è un disegno composto da linee, non può essere codificato con del semplice testo. Concentrati sul reperire informazioni o codce sul barcode ed impara a disegnarlo con c#. Poi visualizzarlo in una DataGridView sarà il passaggio più semplice di tutta l'operazione... Andrea |
|
|
|
|
 Posts:435
 |
| 09 feb 2009 13.53 |
|
Aggiorno con la mia esperienza.
Un codice a barre non e' semplicemente la trasposizione in barre di un numero o testo. Nel caso dell'ean 13, ad esempio si deve calcolare un codice di controllo. Nel caso del 2of5 si possono rappresentare numeri o lettere. Nel caso di code 128 esistono diversi algoritmi in funzione del tipo (A/B/C)
le specifiche le trovi facilemente su internet.
per la loro rappresentazione devi usare un font apposito, ne esistono di "free" (molto pochi) e di commerciali.
Esistono poi dei componenti gia pronti che, passato un valore ti restituiscono il codice numerico / testo che lo rappresenta, basta poi visualizzarlo con il font corretto.
Per la lettura dei codici invece il 90% dei lettori funziona in emulazione tastiera, tant'e' che se leggi un barcode con il focus su una finestra di prompt ne vedi il contenuto come se lo avessi digitato.
Se hai bisogno fatti sentire.
HTH Max
|
|
|
|
|
 Posts:662
 |
| 09 feb 2009 14.08 |
|
A parte l'interfacciamento con un lettore che dovrò comunque studiare... La tecnologia basata su codice a barre viene utilizzata al fine di agevolare e standardizzare la codifica di determinati elementi. Il codice a barre non è altro che una matrice ottica che memorizza delle informazioni. Gli algoritmi di codifica della matrice ottica sono stati implementati e sviluppati nel tempo e ormai fissati in numerosi standard. Da un punto di vista di informazioni esistono alcune diversità a seconda della tipologia di codice da utilizzare, infatti non tutte le codifiche supportano tutti i set di caratteri ASCII, alcunicodici "capiscono" soltanto caratteri numerici, altri soltanto caratteri alfabetici altri supportano tutto, altri solo caratteri esadecimali e così via. Esistono codifiche a "larghezza fissa" ovvero assimilabili ai font tipo il Courier, altre codifiche con caratteri di checksum o di controllo in testa e in coda al codice, altre codifiche con codici a lunghezza fissa, ovvero capaci di codificare sempre e solo un certo numero di caratteri o numeri (EAN13/EAN8). Esistono inoltre delle codifiche mono e bidimensionali, ovvero la monodimensionale è quella codifica per cui il codice viene letto utilizzando la larghezza come direzione di lettura (un po' come capita nella normale scrittura) altri in cui la codifica è gestita utilizzando sia la larghezza che l'altezza. La differenza sta nel fatto che alcuni lettori supportano la bidimensionale perchè ciò che viene fatto non è una lettura laser di una sequenza di barre più o meno spesse, bensì una fotografia del codice che poi viene interpretato. Chiaramente in un codice bidimensionale puoi memorizzare un elevato numero di informazioni, volendo anche piccole immagine in un Array di Byte. In definitiva, però quello che ti viene restituito è sempre e comunque una sequenza di caratteri o un array di byte (che è esattamente la stessa cosa). I protocolli con cui un lettore comunica la lettura al computer host (o alla periferica di lettura host) possono essere vari. I più frequenti sono in emulazione di tastiera e RS232, talvolta anche in RS485. La differenza per chi sviluppa è notevole, nel primo caso devi intercettare un evento di tastiera, nel secondo caso un evento su una porta seriale, scegliere se usare un lettore di barcode seriale piuttosto che in emulazione di tastiera dipende sempre dall'architettura del software, quindi prima dobbiamo vedere l'ambito di applicazione e poi decidere quale tecnologia va meglio per te. per partire dalle cose semplici è possibilie trasformare/visualizzare la colonna di un datagrid che contiene una stringa alfanumerica in un codice a barre???.....basta un font o la cosa è in realtà molto più complessa....??? Non è necessario convertire la stringa in un codice a barre perchè da un punto di vista di programma quello che ci interessa è la stringa in chiaro e non la sua rappresentazione codificata su codice a barre. Per la stampa del codice, invece ti consiglio di dare un'occhiata ai componenti della PerpetuumSoft poichè il Report Sharp Shooter ha un controllo per stampare i Barcode integrato nella suite, altrimenti esistono dei font ma non sono molto affidabili. La cosa comunque migliore è cercare di capire l'ambito di applicazione e poi vedere di trovare la soluzione per te + corretta. HTH Alberto. |
|
|
|
|
 Posts:11
 |
| 09 feb 2009 14.22 |
|
mi avete terrorizzato  ..... il problema è questo ad una tabella di un database esistente ho dovuto prendere una tabella aggiungere una colonna che conterra una stringa che sarà data dalla concatenzazione di stringhe di alcuni campi del datarow...... questa stringa ricavata andrà poi convertita in codice a barre..ed ovviamente stampata per essere utilizzata..... Per quanto riguarda il lettore so che è stata contattata la bancolini ed ho visto alcuni lettori con Windows CE...ma ancora è tutto in alto mare.....per ora mi interesserebbe solo la creazione del barcode per riempire appunto la colonna del database aggiunta.....poi piano piano vediamo il resto..... |
|
|
|
|
 Posts:662
 |
| 09 feb 2009 14.40 |
|
Per quanto riguarda il lettore so che è stata contattata la bancolini ed ho visto alcuni lettori con Windows CE...ma ancora è tutto in alto mare.....per ora mi interesserebbe solo la creazione del barcode per riempire appunto la colonna del database aggiunta.....poi piano piano vediamo il resto..... Come ti ho già detto non è necessario "riempire la colonna con il barcode". Per usare una codifica su barcode devi prendere l'ID (se non lo hai generane uno) della riga e codificarlo in un barcode, ovvero utilizzare dei componenti che ti permettono di rappresentare graficamente il barcode, oppure usare delle stampanti che, dato un comando sono in grado di stampare un barcode. A cosa serve un barcode su una datagrid? E' come voler inserire una foto della banda magnetica della tessera sanitaria per codificare una persona...  Sarebbe utile tu spiegassi cosa vuoi fare se vuoi ricevere aiuto. Mi sembra che sei un po' digiuno di barcode... la prima domanda è: a cosa ti serve il barcode? Cosa ci devi fare? Attendiamo tue delucidazioni Alberto. |
|
|
|
|
 Posts:11
 |
| 09 feb 2009 15.03 |
|
no no...efettivamente non serve a niente sul datagrid...era così per veder un risultato da qualche parte visto che non lo posso stampare ancora(non saprei neanche come sinceramente)..... ogni codice a barre identifichera una marche pezzo che costruttivamente andrà a formare ,lo scafo di una nave... quindi per prima cosa il codice di ogni record sarà stampato ed attaccato al pezzo costruttivo... Successivamente invece di smarcare i pezzi consegnati da un file excel a mano sarebbe carino fare lo scarico delle consegne attraverso il lettore..... Cosa intendi prendere l'ID?....e come lo si generas??.....e generare il barcode..magari il più semplice ripeto tanto per fare una prova minina..... |
|
|
|
|
 Posts:662
 |
| 09 feb 2009 15.32 |
|
Cosa intendi prendere l'ID?....e come lo si generas??.....e generare il barcode..magari il più semplice ripeto tanto per fare una prova minina..... Al fine di identificare ogni pezzo, tipicamente le aziende che costruiscono componenti meccanici usano il codice del disegno da cui il pezzo è stato creato, oltremodo non so se nei cantieri navali vale la stessa regola e se così non fosse è necessario identificare ogni singolo pezzo in maniera univoca, altrimenti devi far riferimento ad un codice generato dal costruttore. Una volta fatto questo devi sincerarti di come questo codice è stato formato se ci sono dei prefissi, dei suffissi se è un progressivo ecc.. fatto questo scegliamo il sistema di codifica più adatta al tuo scopo. Per la stampa del codice ti consiglio di utilizzare delle stampanti di etichette professionali tipo DataMax e/o TSC oppure Zebra (se hai bisogno dei riferimenti dei rivenditori mandami una email in privato a laptop@doctorbit.it). Queste stampanti hanno un loro protocollo di stampa che ti permette di comporre l'etichetta e di generare il codice a barre direttamente con un comando di programmazione su vari protocolli (anche per questo se hai bisogno di una mano sentiamoci in privato o postiamo sul forum di terze parti). Anche per i lettori di barcode ormai ho una certa esperienza dovuta più alla mia età che al resto...  quindi se hai problemi sentiamoci così che posso consigliarti anche i migliori rivenditori... HTH Alberto. |
|
|
|
|
 Posts:663
 |
| 09 feb 2009 15.38 |
|
Il punto è che a te non serve il codice visualizato nella datagridview per mettiamo la seguente tabella CampiID---NomeArticolo-----Costruttore----ecc....-----BarCode ---1---------poppa--------------xxxxx---------ecc....------wekfjwòfj ---2---------prua-----------------rerre---------ecc....------ergegerg Il CampoID è il campo che identifica univocamente la datarow o l'articolo pertanto non hai bisogno di visualizzare il barcode. Per identificare l'articolo poppa o prua non ti servirà il Codice a Barre ma bensi il CampoID. Nel tuo caso la cosa potrebbe essere molto semplificata a mio parere. Componi la colonna BarCode assegnando un codice alfanumerico univoco all'articolo. Dopo ciò puoi tranqullamente untilizzare un font per il codice da te utilizzato in BarCode all'interno di un report. Per la lettura del codice puoi trnquillamente utilizzare un lettore a emulazione tastiera. Per quello che ho capito questa potrebbe essere la soluzione più semplice e veloce. Poi comunque è una valutazione finale che devi fare tu. HTH Francesco |
|
|
|
|
 Posts:435
 |
| 09 feb 2009 16.20 |
|
per codificare un articolo che compone la sua nave puo benissimo usare un id di produzione (sicuramente ne avranno uno) o, mal che vada un od di commessa + progressivo o lotto di produzione (se servisse mai la tracciabilita) se sono pezzi prodotti "una tantum"
la scelta del tipo di codifica va fatta poi in funzione del codice generato, a occhio credo che un code 128C sia il piu indicato. ma e' da vedere poi sul caso specifico.
HTH Max
p.s. se serve un algoritmo per fare il code 128 lo ho gia pronto, devo solo cercarlo nel calderone dei vecchi progetti...
|
|
|
|
|
 Posts:662
 |
| 10 feb 2009 00.19 |
|
la scelta del tipo di codifica va fatta poi in funzione del codice generato, a occhio credo che un code 128C sia il piu indicato. ma e' da vedere poi sul caso specifico. Il 128C è buono ma limitato... per lui il più indicato è un 128B (che supporta tutto il set ASCII da 32 a 127 compresi i caratteri speciali). Il 128 A e C supportano soltanto ASCII 00-99 il primo e 00-95 il secondo, il vantaggio di un 128C è che ha codifica a doppia densità (vengono i codici + stretti) se il codice è solo numerico, ma nel suo caso eviterei di perdermi i caratteri 96-127 che possono comunque essere utili. HTH Alberto. |
|
|
|
|
 Posts:435
 |
| 10 feb 2009 07.50 |
|
io suggerivo il 128C proprio perche immaginavo un codice numerico, con in piu il lotto di produzione e magari veniva fuori una "sbrodolata" di numeri che stampare su un etichetta ci vuole un lenzuolo..  Aspettiamo di vedere che codice univoco tira fuori e poi valutiamo. HTH Max |
|
|
|
|
| Non sei autorizzato ad inviare una risposta. |
|
Active Forums 4.1
|
|
|
|
|
|
|
|
|
Autenticazione ASP.NET |
 |
Come funziona la configurazione dell'autenticazione ASP.NET? Scopriamolo tramite alcuni test. |
 |
|
2007/08/09 | Autore: Rudy Azzan
|
|
|
|
|
|
|
|
|
|
|
|
|
|