ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

FORMATAR CPF/CNPJ

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
gnandi83
Aprendiz
Aprendiz


Registrado: Domingo, 15 de Agosto de 2010
Mensagens: 195

MensagemEnviada: Qui Mai 05, 2011 1:16 pm    Assunto: FORMATAR CPF/CNPJ Responder com Citação

Boa Tarde

Caros amigos delphianos..

Estou usando a seguinte funcao para formatar o cpf:

VAR
FORMATARCPF : STRING;
begin
inherited;
if Length(DBEcpf.Text) = 11 then
Begin
if cpf(DBEcpf.Text) = True Then
Begin
FormatarCPF:= Copy(DBEcpf.Text, 1,3)
+ '.' + Copy(DBEcpf.Text, 4,3)
+ '.' + Copy(DBEcpf.Text,7,3)
+ '-' + Copy(DBEcpf.Text, 10,2);
DBEcpf.Text:= FormatarCPF;
//Label1.Caption := 'CPF';
End
Else
begin
ShowMessage('CPF com erro. favor verificar');
DBEcpf.SetFocus;
end;
End;


end;


O problema é que, o campo cpf na minha tabela fiz so com 11 caracteres, e por causa da formatação acima, está indo para o banco tb com a formatação.

Queria que a formatação fosse apena no meu DBEdit, e jogasse para o banco apenas os numeros.
Como faço isso?

Obrigado

Cleber
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
abagattini
Mestre
Mestre


Registrado: Terça-Feira, 29 de Novembro de 2005
Mensagens: 758
Localização: Porto Alegre/RS

MensagemEnviada: Qui Mai 05, 2011 1:20 pm    Assunto: Responder com Citação

Dá um duplo clique em cima da tabela ou query, seleciona o campo e usa a propriedade DisplatFormat.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
kcba
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Novembro de 2010
Mensagens: 116

MensagemEnviada: Qui Mai 05, 2011 1:30 pm    Assunto: Responder com Citação

vc poderia criar mais uma variavel tipo: CPF1:string e atribuir a ela o valor digitado em DBEcpf.Text e quando for gravar no BD grava o valor de CPF1:
Assim:
Código:

VAR
FORMATARCPF, CPF1 : STRING;
begin
 CPF1 := DBEcpf.Text;
  ....
End;


no insert
Código:

INSERT INTO tabela ((campo) VALUES (CPF1))


Acho q assim poderia funcionar.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafa.spimenta
Profissional
Profissional


Registrado: Sexta-Feira, 31 de Julho de 2009
Mensagens: 621
Localização: Betim

MensagemEnviada: Qui Mai 05, 2011 1:34 pm    Assunto: Responder com Citação

Mais aconselhável usar a dica do colega abagattini
_________________
"Você pode ter todo o dinheiro do mundo, mas há algo que jamais poderá comprar: um dinossauro!"

Meu blog:
http://delphiexpresso.blogspot.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
fbnois
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008
Mensagens: 364
Localização: Na frente do Computador

MensagemEnviada: Qui Mai 05, 2011 2:30 pm    Assunto: Responder com Citação

Bem eu uso esta funcão para remover pontos e outros caracteres

Código:
function SoNumeros(Const Texto:String):String;
var
  I: integer;
  S: string;
begin
  S := '';
  for I := 1 To Length(Texto) Do
  begin
    if (Texto[I] in ['0'..'9']) then
    begin
      S := S + Copy(Texto, I, 1);
    end;
  end;
  result := S;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
gnandi83
Aprendiz
Aprendiz


Registrado: Domingo, 15 de Agosto de 2010
Mensagens: 195

MensagemEnviada: Qui Mai 05, 2011 3:53 pm    Assunto: Responder com Citação

abagattini escreveu:
Dá um duplo clique em cima da tabela ou query, seleciona o campo e usa a propriedade DisplatFormat.


OK, só que no meu caso é um campo varchar, e não tem o displaformat, como é que posso fazer. e se eu trocar para campo numeric como fico a formatacao do display?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mai 05, 2011 5:06 pm    Assunto: Responder com Citação

Mantendo o seu campo VarChar você pode experimentar configurar a propriedade EditMask do seu campo como

Código:
999.999.999\-99;0;_


ou

Código:
000.000.000\-00;0;_


Espero que seja útil.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB