codigo para formatar cnpj não funciona

Delphi

10/08/2005

bom dia, pessoal...eu peguei esse codigo na parte de DICAS aqui do clube delphi

Function FormataCNPJ(CNPJ : string): string;
begin
Result :=Copy(CNPJ,1,2)+´.´+Copy(CNPJ,3,3)+´.´+Copy(CNPJ,6,3)+´/´+Copy(CNPJ,9,4)+´-´+Copy(CNPJ,13,2);

end;

NO EVENTO ONEXIT DO DBEDIT CNPJ EU COLOQUEI O SEGUINTE

procedure TForm_Funcionarios.dbeCNPJExit(Sender: TObject);
begin
FormataCNPJ(dbeCpf.Text);
end;

mas não tá formatando o CNPJ... O QUE ESTÁ ERRADO????


Rafael Santana

Rafael Santana

Curtidas 0

Respostas

Rjun

Rjun

10/08/2005

Por que voce não formata a propriedade DisplayFormat do TField?

[b:a76c652105]
Máscara para CNPJ

99\.999\.999\/9999\-99;0;
[/b:a76c652105]


GOSTEI 0
Sistemald

Sistemald

10/08/2005

Lembre que é uma função e rotorna uma string

coloque

dbeCpf.DataSource.DataSet.fieldByname(dbeCpf.DataField).asstring:= Dbecpf.FormataCNPJ(dbeCpf.Text); // essa opção alterar no banco de dados

ou 

Dbecpf:= Dbecpf.FormataCNPJ(dbeCpf.Text);



GOSTEI 0
Marco Salles

Marco Salles

10/08/2005

mas não tá formatando o CNPJ... O QUE ESTÁ ERRADO????



a sua chamada é :

NO EVENTO ONEXIT DO DBEDIT CNPJ EU COLOQUEI O SEGUINTE procedure TForm_Funcionarios.dbeCNPJExit(Sender: TObject); begin FormataCNPJ(dbeCpf.Text); end;


Lembre que é uma função e rotorna uma string


O retorno da função voce deve atribuir ao dbeCpf , e voce não esta fazendo isto

procedure TForm_Funcionarios.dbeCNPJExit(Sender: TObject); 
begin 
if DataSource.state In [DsEdit,DsInsert] Then
   dbeCpf.Text:=FormataCNPJ(dbeCpf.Text); 
end; 


Por que voce não formata a propriedade DisplayFormat do TField? Máscara para CNPJ 99\.999\.999\/9999\-99;1;


Outra opção a ser considerada ..

P:S So troquei o final 1 com o final zero , para que a mascara seje salva


GOSTEI 0
POSTAR