GARANTIR DESCONTO

Fórum Erro ao acessar funcao em outra unit #205177

08/01/2004

0

[size=18:add02e1d95]Sou iniciante,
Criei uma unit para funcoes de validacao de cpf e cnpj, logo abaixo descrita.
Entretanto na unit do formulario de entrada do CNPJ, quando compilo recebo a mensagem [i:add02e1d95][b:add02e1d95]´UNDECLARED IDENTIFIER: TESTACNPJ´[/b:add02e1d95][/i:add02e1d95]
Por favor me ajudem[/size:add02e1d95]

[color=green:add02e1d95]UNITFUNCOES
unit UnitFuncoes;

interface

Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Dialogs,
StdCtrls;

private
{ Private declarations }
public
{ Public declarations }
function TestaCpf(num: string): boolean;
function TestaCnpj(num: string): boolean;
End;

implementation

{testa CPF}
function TestaCpf(num:string):Boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9:Integer;
d1,d2:Integer;
Digitado, Calculado:String;
begin
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]);
d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
d1:=11-(d1 mod 11);
if d1 >= 10 then d1:=0;
d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
d2:=11-(d2 mod 11);
if d2 >= 10 then d2:=0;
Calculado:=IntToStr(d1)+IntToStr(d2);
Digitado:=num[10]+num[11];
if Calculado=digitado then
TestaCpf:=True
else
TeataCpf:=False;
end;

function TestaCnpj(num:string):Boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12:Integer;
d1,d2:Integer;
Digitado, Calculado:String;
begin
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
TestaCnpj:=True
else
TestaCnpj:=False;
end;


end.[/color:add02e1d95][size=9:add02e1d95][/size:add02e1d95]


Rs_2001

Rs_2001

Responder

Posts

08/01/2004

Aroldo Zanela

Colega,

Basta adicionar a sua unit de funções na lista de uses de seu formulário. Isto pode ser feito manualmente, ou seja, posicionar o cursor na linha da lista de uses no início do código do formulário. A forma mais simples é pressionando Alt + F11 ou por meio do menu File -> Use unit.


Responder

Gostei + 0

08/01/2004

Objetivacreator

Já enfretei este tipo de problema, no meu caso funcionou.

Veja.

Estando no Formulario (por exemplo FrmClientes). No menu File escolha Use Unit, escolha a unit que tem as funcoes.
Agora compile.

Se não der certo, tente usar junto a seguinte intrucao naum deixando de fazer a dica acima.

TFuncoes.TestaCNPJ(DataModule.Table1Cnpj);
Onde TFuncoes e o nome da classe da Unit Funcoes. (onde esta suas funcoes).

Espero que isto ajude.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar