Eduardo boa tarde!

Tente utilizar a função abaixo:

function ValidaCGC(NUM: string): boolean;
var
N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12: integer;
D1, D2: integer;
DIGITADO, CALCULADO: string;
begin
    NUM:= trim(NUM);
    if length(NUM) <> 14 then begin
        result:= false;
        exit;
    end;
    N1:=  StrToInt(NUM[1]);
    N2:=  StrToInt(NUM[2]);
    N3:=  StrToInt(NUM[3]);
    N4:=  StrToInt(NUM[4]);
    N5:=  StrToInt(NUM[5]);
    N6:=  StrToInt(NUM[6]);
    N7:=  StrToInt(NUM[7]);
    N8:=  StrToInt(NUM[8]);
    N9:=  StrToInt(NUM[9]);
    N10:= StrToInt(NUM[10]);
    N11:= StrToInt(NUM[11]);
    N12:= StrToInt(NUM[12]);
    D1:= (N12 * 2) + (N11 * 3) + (N10 * 4) + (N9 * 5) + (N8 * 6) + (N7 * 7)
+ (N6 * 8) + (N5 * 9) + (N4 * 2) + (N3 * 3) + (N2 * 4) + (N1 * 5);
    D1:= 11 - (D1 mod 11);
    if D1 >= 10 then
        D1:= 0;
    D2:= (D1 * 2) + (N12 * 3) + (N11 * 4) + (N10 * 5) + (N9 * 6) + (N8 * 7)
+ (N7 * 8) + (N6 * 9) + (N5 * 2) + (N4 * 3) + (N3 * 4) + (N2 * 5) + (N1 *
6);
    D2:= 11 - (D2 mod 11);
    if D2 >= 10 then
        D2:= 0;
    CALCULADO:= IntToStr(D1) + IntToStr(D2);
    DIGITADO:= NUM[13] + NUM[14];
    if CALCULADO = DIGITADO then
        Result:= true
    else
        Result:= false;
end;


Pelos testes que fiz, o unico CGC que você terá que fazer tratamento será o
000.000.000-00.

Quaisquer duvidas contate.

Abraços

José de Moura

Ps: Se precisar para o cpf eu tenho a função.



  -----Mensagem original-----
  De: Eduardo Silva ® [mailto:[EMAIL PROTECTED]
  Enviada em: sexta-feira, 22 de outubro de 2004 Junior 11:34:AM
  Para: [EMAIL PROTECTED]
  Assunto: [delphi-br] Dúvida sobre CPF


  Galera, se a gente digitar o número 111.111.111-11 de um CPF ele passa
pela
  funçao de validação.

  Duvida: esse número é válido ? Existe alguém que tenha esse CPF ?

  Em caso de ele não ser válido, eu devo tratar isso dentro da minha função
de
  validação ?

       _  __________________________________  _
      / )|                                  |( \
     / / |     Eduardo de Almeida Silva     | \ \
  _( (_ |  _  * [EMAIL PROTECTED]   _  | _) )_
  (((\ \)|_/ )__________________________( \_|(/ /)))

  (\\\\ \_/ /                            \ \_/ ////)

  \       /                              \       /

    \    _/                                \_    /

    /   /                                    \   \


  ---
  Outgoing mail is certified Virus Free.
  Checked by AVG anti-virus system (http://www.grisoft.com).
  Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004


  [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]



        Yahoo! Grupos, um serviço oferecido por:







----------------------------------------------------------------------------
--
  Links do Yahoo! Grupos

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

    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.



[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