Newsgroup: it.comp.lang.delphi
Titolo: Codice a barre e codice proprietario del marchio?

Codice a barre e codice proprietario del marchio?
Dopo aver risolto il problema della stampa del
codice a barre, ho la necessità di sapere come
attribuire il "codice proprietario del marchio" nello
standard EAN 13.
Sapete dirmi cosa bisogna fare per avere questo codice?
Ciao Enzo
www.scozzaro.it

Esiste una commissione che assegna i codici a barre.
O meglio, la prima parte di un codice a barre che identifica in modo univo
co il produttore di un qualsiasi prodotto.
Se cerchi con altavista qualcosa tipo "assegnazione codici a barra" dovresti
trovare un link che punti al sito di questa commissione.
Si tratta di una organizzazione mondiale che ha poi varie sedi in ogni
nazioni.
Bye
AS

 ha scritto


ma tu devi commercializzare un prodotto corredandolo di codice a barre ?
Se è così allora devi seguire l'indicazione che ti ha dato Alberto, cioè in
poche parole, la prima parte del codice EAN13 ti viene assegnata da un
organismo che si occupa di ciò. ( altrimenti in Italia ci sarebbero prodotti
con codici a barre identici....figurati che casino nei supermercati :-))))
In Italia, se ne occupa la INDICOD ( cerca su altavista )
Se invece questo prodotto è usato esclusivamente all'interno di un magazzino
o di un'attività....insomma il codice a barre non esce da questo
stabilimento allora puoi crearlo tu il codice fregandotene di questo
organismo di assegnazione. ( che ovviamente non è gratis....come tutte le
cose )
Ora ti dico come creare un codice a barre nello standard EAN13. ( l'EAN 8 è
molto simile )
Allora tu assegni un codice di 12 cifre ad un articolo. La tredicesima cifra
( la cifra di controllo ) deriva da quanto ti scrivo quì sotto.
Ecco i 5 punti da seguire per calcolare la cifra di controllo di un codice
EAN13.
1: Sommare le cifre in posizioni pari e moltiplicare il risultato per 3
2: Sommare le cifre in posizione dispari
3: Addizionare i risultati calcolati
4: Calcolare il multiplo di 10 immediatamente successivo al risultato della
3
5: Sottrarre la 3 alla 4 ed il risultato ottenuto è la cifra di controllo
Quì sotto ti riporto una funzione per verificare l'esattezza di un codice
EAN13 ( cioè l'esattezza della cifra di controllo )
function Control_EAN13(Code:string):TEan13Ok;
var SumPari, SumDisp, SumTot, Mul, Cin, VCin, I :Integer;
begin
  Result.CodeOk:=False;
  // controllo se il codice è composto da 13 numeri
  if ( Length(Code) <> 13 ) then
   Exit;
  //controllo se si tratta esclusivamente di numeri
  try
    StrToFloat(Code);
  except
   Exit;
  end;
  SumPari:=0;
  SumDisp:=0;
  for I:=1 to 6 do
   begin
     // sommo le cifre pari
     SumPari:=SumPari + StrToInt(String(Code[I * 2]));
     // sommo le cifre dispari
     SumDisp:=SumDisp + StrToInt(String(Code[I * 2 - 1]));
   end;
  SumPari:=(SumPari * 3);
  // addiziono le somme delle cifre pari e dispari
  SumTot:=( SumPari + SumDisp );
  // cerco il multiplo di 10 immediatamente successivo al valore di SumTot
  I:=-1;
  repeat
    Inc(I);
    Mul:=(SumTot + I);
  until ( Mul mod 10 = 0 );
  // memorizzo in forma numerica il carattere di controllo (il tredecesimo
del -
  // codice EAN13 )
  Cin:=StrToInt(Code[13]);
  // calcolo il codice di controllo
  VCin:=( Mul - SumTot );
  // controllo se il codice calcolato corrisponde a quello scritto nel
codice EAN 13
  Result.CodeOk:=( VCin = Cin );
  // restituisco il codice di controllo calcolato
  Result.Cin:=VCin;
end;
TEan13Ok è un record così definito:
type TEan13Ok = record
        CodeOk : Boolean;
        Cin          : Byte;
     end;
"CodeOk" ci informa se il codice è corretto mentre "Cin" restituisce la
cifra di controllo (la tredicesima) che avrebbe dovuto avere il codice EAN
se fosse stato esatto. Se "CodeOk" vale true, significa che il codice è
corretto e quindi "Cin" avrà come valore lo stesso valore della tredicesima
cifra del codice. Spero di essere stato chiaro !!
Ti saluto.
P.S. Se usi i tuoi codici per magazzino e quindi non li registri alla
INDICOD, dovresti usare ( nei primi due numeri ) i numeri
       da 20 a 29.
Ciao....
Antonio Tarolla

 ha scritto nel messaggio
news:OpmL8.5803$K4.1...@twister2.libero.it...


 per registrarsi alla unicod?
Rischi di avere codice che si sovrappongono a quelli usati gia' da altre
aziende.
Bye
AS

 per registrarsi alla unicod?
esiste se i distributori ( esterni ovviamente ) dei prodotti
commercializzati dall'azienda non usano il codice a barre ( non
registrato ).
Se loro lo usano ma questo non è registrato e quindi può capitare che non
sia unico in circolazione, si creano dei disguidi ( oltre a fattro che è
contro legge ) in quanto il distributore si potrebbe trovare due articoli
diversi con lo stesso codice a barre.
Anche se tu stai attento a tutto ciò e quindi sei sicurissimo che non si
verificherà mai qualcosa del genere ( nota che questa sicurezza non la
potrai mai avere visto che da un giorno all'altro qualcuno potrebbe
registrarsi con il tuo stesso codice e tu devi ricominciare tutto daccapo )
vai comunque contro la legge.
Ora non ricordo le sanzioni, ma per evitare tutto ciò sei tu che devi creare
un compromesso se non vuoi registrarti
all' INDICOD.
Purtroppo è così.
All'inizio forse non era così ma ora è giusto che lo sia altrimenti il
codice a barre non lo si potrebbe utilizzare se esistono prodotti diversi
con lo stesso codice.
Ti saluto
Antonio

>...e l'azienda non ha fondi per registrarsi alla unicod
Enzo,
la quota di iscrizione a UNICOD (per ditte fino a 520.000 euro di
fatturato) e' di 210 euro (+80  euro annuali).
Se la ditta in questione non ha questa disponibilita' , io - come
programmatore esterno - sarei molto preoccupato... :)
Ciao
Duilio