Outro dia estavam querendo:

function Valida_EAN(VEAN: String): Boolean; //Dica número 1595 de www.deephi.rg3.net. 
Funciona com EAN8 e EAN13
var
  Temp1, Temp2: Integer;
  Temp3: String;
begin
  Temp2:=0;
  Temp3:='';

  for Temp1:=Length(VEAN)-1 downto 1 do //Inverte, retirando o dígito
    Temp3:=Temp3+VEAN[Temp1];

  for Temp1:=1 to Length(Temp3) do       //Multiplica as posições impares por 3, 
fazendo o somatório
    if Temp1 mod 2 = 0 then
      Temp2:=Temp2+StrToInt(Temp3[Temp1])
    else
      Temp2:=Temp2+StrToInt(Temp3[Temp1])*3;

  Temp2:=10-Round(Frac(Temp2/10)*10);    //10 menos o resto da divisão

  Result:=Temp2=StrToInt(Copy(VEAN,Length(VEAN),1));
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if not Valida_EAN(Edit1.Text) then Application.MessageBox(PChar('EAN 
inválido!'),'Sigma...',64);
end;




  Sávio Cler
  ICQ 142428832
  www.sgm.rg3.net
  [EMAIL PROTECTED]
  Sto A. de Pádua - Rio de Janeiro
  Contato Pessoal:   (22)9812-0656

              ~ ~
            ( @ @ )
  -------o0Oo-(_)-oO0o-------
      Precisando de dicas?
     www.deephi.hpg.com.br
  ---------------------------
    Mais de 30000 downloads
  ---------ooO---Ooo---------

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a