1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| //----------------------------------------------------------------------------------------------------------------
// Calcule la Clé de Controle d'un Code Barre de type EAN13 -
// Paramètres : -
// - CodeBarre : Données à analyser, c'est le CodeBarre du SCANNER ou d'un OUTCOME -
//----------------------------------------------------------------------------------------------------------------
function CalculControlKeyOfEAN13CodeBarre(BarreCode: String): String;
var
TabChar: Array [1..13] of Integer;
Total, TotalPair, TotalImpair, Cle: Integer;
begin
try
TabChar[1]:= StrToInt (BarreCode[1]);
TabChar[2]:= StrToInt (BarreCode[2]);
TabChar[3]:= StrToInt (BarreCode[3]);
TabChar[4]:= StrToInt (BarreCode[4]);
TabChar[5]:= StrToInt (BarreCode[5]);
TabChar[6]:= StrToInt (BarreCode[6]);
TabChar[7]:= StrToInt (BarreCode[7]);
TabChar[8]:= StrToInt (BarreCode[8]);
TabChar[9]:= StrToInt (BarreCode[9]);
TabChar[10]:= StrToInt (BarreCode[10]);
TabChar[11]:= StrToInt (BarreCode[11]);
TabChar[12]:= StrToInt (BarreCode[12]);
TotalPair := (TabChar[2] + TabChar[4] + TabChar[6] + TabChar[8] + TabChar[10] + TabChar[12] )*3;
TotalImpair := TabChar[1] + TabChar[3] + TabChar[5] + TabChar[7] + TabChar[9] + TabChar[11] ;
Total:= TotalPair + TotalImpair;
Cle:= (10 - (Total mod 10)) mod 10;
result := Copy(BarreCode,1,12) + IntToStr(Cle) ;
except
Exit;
result := '';
end;
end; |
Partager