Ir para conteúdo
Fórum Script Brasil
  • 0

Tabela Paradox


Eder

Pergunta

Ola...pessoal

eu tenho uma tabela paradox de terceiro.....e nela tem um campo de CNPJ/CPF do tipo alphanumerico...

porem no campo CNPJ/CPF ele esta assim neste formato: 00.000.000/0001-00 ou assim CPF: 774.974.819-91

Eu queria retirar os pontos e tracos deixando apenas os numeros.

alguém poderia me dar uma dica de como fazer isto?

Grato

:(

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

opa

retirado do dtdelphi

type
  TChars = set of Char;

function FilterChars(const S: string; const ValidChars: TChars): string;
var
  I: integer;
begin
  Result := '';
  for I := 1 to Length(S) do
  if S[I] in ValidChars then
  Result := Result + S[I];
end;

ai pra usar exemplo

szCNPJ := FilterChars('774.974.819-91', ['0'..'9']);

pra aceitar só letras por exemplo em uma frase é só passar

em ValidChars ['a'..'z'] e pra aceitar maiúsculas ['A'..'Z']

pra aceitar letras (maiúsculas também), números, pontos e traços

FilterChars(String, ['a'..'z', 'A'..'Z', '0'..'9', '.', '-']);

e por ai vai...

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

amigo...Churc...beleza...

Carinha acho que não fui claro..hehehe....o que queria é pegar a tabela paradox e no campo CNPF/CPF retirar todos os pontos, traços etc.....

deixando só os numeros..... assim: 99999999000100 ficando melhor pra trabalhar...pois já tenho varios aplicativos que trabalham assim...e não estou disposta a mudar tudo ....hehehe...

hoje ela esta assim: 99.999.999/0001-00

gostaria que ficasse assim: 99999999000100

muito Grato ...carinha...t+ :D

Link para o comentário
Compartilhar em outros sites

  • 0

opa

ahuahu então eu entendi sim então para isso

só você fazer um Loop na sua tabela exemplo

while not Table.Eof do

e pegar o valor do campo no loop em uma variavel

variavel := table.cnpj.asstring;

fazer o que eu te falei do filtro

variavel := FilterChars(variavel, ['0'..'9']);

e jogar devolta o campo atual do loop sem

os traços e pontos que foram filtrados acima...

table.cnpj.value := variavel;

entendeu mais ou menos?

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Churc..acho que entendi.....

Como a tabela é de terceiro....ela vem com um campo assim CNPJ/CPF....acredito que esta barra no meio de CNPJ/CPF está atrapalhando e não me deixa compilar....

O codigo que montei ficou assim:

procedure TForm1.XiButton5Click(Sender: TObject);

Var

VarCnpj:string;

begin

while not Table1.Eof do

Begin

table1.edit;

VarCnpj := table1Cnpj/cpf.asstring;

VarCnpj := FilterChars(VarCnpj, ['0'..'9']);

table1Cnpj/cpf.value := VarCnpj;

table1.post;

end;

table1.next;

end;

Mas não compila....fica o cursos em cima do campo tabela CNPJ/CPF

VarCnpj := table1Cnpj/cpf.asstring;

erro:

[Error] CSV_DB.pas(236): Undeclared identifier: 'table1Cnpj'

Note que parece que a BARRA interfere.

você sabe qual seria a solução...já que esta tabela é de terceiro...

:unsure:

muito Grato

:(

Link para o comentário
Compartilhar em outros sites

  • 0

opa

bom isso não existe mesmo table1Cnpj/cpf.value

tá uma mistura do componente TTable com o nome do

campo rsr

qual o nome do campo CNPJ na tabela?

se ele se chamar CNPJ por exemplo você poderia fazer

procedure TForm1.XiButton5Click(Sender: TObject);

Var

Cnpj:string;

begin

while not Table1.Eof do

Begin

table1.edit;

VarCnpj := table1.FieldbyName('CNPJ').asstring;

VarCnpj := FilterChars(VarCnpj, ['0'..'9']);

table1.FieldbyName('CNPJ').value := VarCnpj;

table1.post;

end;

table1.next;

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Ola..Churc.

você Perguntou: Qual o nome do campo CNPJ na tabela?

O NOME DO CAMPO É CNPJ/CPF

Note que tem uma barra do meio...e ai o programa quando mando executar ele trava.

Acredito que esta barra está interferindo no desempenho e travando o programa

O que você acha??

B)

Link para o comentário
Compartilhar em outros sites

  • 0

opa

Então... pouco provável porque senão não seria permitido

o uso de barras em nome de campos... tente assim

procedure TForm1.XiButton5Click(Sender: TObject);

Var

Cnpj:string;

begin

while not Table1.Eof do

Begin

table1.edit;

VarCnpj := table1.FieldbyName('CNPJ/CPF').asstring;

VarCnpj := FilterChars(VarCnpj, ['0'..'9']);

table1.FieldbyName('CNPJ/CPF').value := VarCnpj;

table1.post;

end;

table1.next;

end;

abs

Link para o comentário
Compartilhar em outros sites

  • 0

Churc.....exatamente assim que fiz.....é ai que Trava.....

acho também que é por causa da BARRA.....como a tabela é de um terceiro importada de um arquivo CSV....ai ferrou.....senão era facil era só tirar a barra.

Terias alguma outra ideia??

:(

Link para o comentário
Compartilhar em outros sites

  • 0

opa

como a tabela é de um terceiro importada de um arquivo CSV
Quer dizer que não é uma tabela, e sim você está

importando isso de um arquivo CSV?

Porque se for isso, claro que tem jeito é só você mudar

a forma de leitura rs

Mesmo que fosse um arquivo de tabela Paradox era só abrir

no Database Desktop por exemplo e alterar o nome do campo...

Se for de um arquivo CSV, cole uma linha por exemplo do arquivo

e também o código que você está fazendo leitura

Link para o comentário
Compartilhar em outros sites

  • 0

Churc....não era o campo da tabela...era um errinho no codigo

faltava esta linha:

table1.first;

por isto que travava..... :rolleyes:

codigo completo:

procedure TForm1.XiButton5Click(Sender: TObject);

Var

VarCnpj:string;

begin

table1.first;

while not Table1.Eof do

Begin

table1.edit;

VarCnpj := table1.FieldbyName('CNPJ/CPF').asstring;

VarCnpj := FilterChars(VarCnpj, ['0'..'9']);

table1.FieldbyName('CNPJ/CPF').value := VarCnpj;

table1.post;

table1.next;

end;

end;

Agora ficou beleza...tudo deu certo..

valeu a ajuda carinha..

Abraço t+ :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...