Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
gnandi83 Aprendiz
Registrado: Domingo, 15 de Agosto de 2010 Mensagens: 195
|
Enviada: Qui Mai 05, 2011 1:16 pm Assunto: FORMATAR CPF/CNPJ |
|
|
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 |
|
|
abagattini Mestre
Registrado: Terça-Feira, 29 de Novembro de 2005 Mensagens: 758 Localização: Porto Alegre/RS
|
Enviada: Qui Mai 05, 2011 1:20 pm Assunto: |
|
|
Dá um duplo clique em cima da tabela ou query, seleciona o campo e usa a propriedade DisplatFormat. |
|
Voltar ao Topo |
|
|
kcba Aprendiz
Registrado: Quarta-Feira, 17 de Novembro de 2010 Mensagens: 116
|
Enviada: Qui Mai 05, 2011 1:30 pm Assunto: |
|
|
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 |
|
|
rafa.spimenta Profissional
Registrado: Sexta-Feira, 31 de Julho de 2009 Mensagens: 621 Localização: Betim
|
Enviada: Qui Mai 05, 2011 1:34 pm Assunto: |
|
|
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 |
|
|
fbnois Membro Junior
Registrado: Quinta-Feira, 10 de Abril de 2008 Mensagens: 364 Localização: Na frente do Computador
|
Enviada: Qui Mai 05, 2011 2:30 pm Assunto: |
|
|
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 |
|
|
gnandi83 Aprendiz
Registrado: Domingo, 15 de Agosto de 2010 Mensagens: 195
|
Enviada: Qui Mai 05, 2011 3:53 pm Assunto: |
|
|
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 |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Mai 05, 2011 5:06 pm Assunto: |
|
|
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 |
|
|
|