03-09-2018, 04:16 PM
(03-09-2018, 03:51 PM)S.FATEH كتب : [ -> ]السلام عليكم ما هو رقم باركود الجزائر امامي الان منتجان يبدآن 6130لن تحتاج له الا في حالة كان من يستخدم البرنامج منتج
عامة الاستخدام محلي يمكن وضع اي رقم دون اي قيود
(03-09-2018, 03:51 PM)S.FATEH كتب : [ -> ]السلام عليكم ما هو رقم باركود الجزائر امامي الان منتجان يبدآن 6130لن تحتاج له الا في حالة كان من يستخدم البرنامج منتج
//----------------------------------------------------------------------------------------------------------------
// 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;
procedure TfrmFicheArticle.edtCodeBarreButtonClick(Sender: TObject);
begin
edtCodeBarre.Text := CalculControlKeyOfEAN13CodeBarre(FormatDateTime('yymmdd', Date) + FormatDateTime('hhmmss', Time));
end;