Eder Postado Fevereiro 6, 2007 Denunciar Share Postado Fevereiro 6, 2007 Ola...pessoaleu 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-91Eu queria retirar os pontos e tracos deixando apenas os numeros.alguém poderia me dar uma dica de como fazer isto?Grato :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 6, 2007 Denunciar Share Postado Fevereiro 6, 2007 oparetirado do dtdelphitype 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 exemploszCNPJ := FilterChars('774.974.819-91', ['0'..'9']);pra aceitar só letras por exemplo em uma frase é só passarem ValidChars ['a'..'z'] e pra aceitar maiúsculas ['A'..'Z']pra aceitar letras (maiúsculas também), números, pontos e traçosFilterChars(String, ['a'..'z', 'A'..'Z', '0'..'9', '.', '-']);e por ai vai...abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Fevereiro 6, 2007 Denunciar Share Postado Fevereiro 6, 2007 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-00gostaria que ficasse assim: 99999999000100muito Grato ...carinha...t+ :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 6, 2007 Denunciar Share Postado Fevereiro 6, 2007 opaahuahu então eu entendi sim então para issosó você fazer um Loop na sua tabela exemplowhile not Table.Eof doe pegar o valor do campo no loop em uma variavelvariavel := table.cnpj.asstring;fazer o que eu te falei do filtrovariavel := FilterChars(variavel, ['0'..'9']);e jogar devolta o campo atual do loop semos traços e pontos que foram filtrados acima...table.cnpj.value := variavel;entendeu mais ou menos?abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 7, 2007 Autor Denunciar Share Postado Fevereiro 7, 2007 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);VarVarCnpj:string;beginwhile not Table1.Eof doBegintable1.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/CPFVarCnpj := 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 :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pirambu! Postado Fevereiro 7, 2007 Denunciar Share Postado Fevereiro 7, 2007 Cara não sei se entendir direito, mais não seria o EditMask que estar configurado para utilizar os pontos.Ver se é isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 7, 2007 Denunciar Share Postado Fevereiro 7, 2007 opabom isso não existe mesmo table1Cnpj/cpf.valuetá uma mistura do componente TTable com o nome docampo rsrqual o nome do campo CNPJ na tabela?se ele se chamar CNPJ por exemplo você poderia fazerprocedure TForm1.XiButton5Click(Sender: TObject);VarCnpj:string;beginwhile not Table1.Eof doBegintable1.edit;VarCnpj := table1.FieldbyName('CNPJ').asstring;VarCnpj := FilterChars(VarCnpj, ['0'..'9']);table1.FieldbyName('CNPJ').value := VarCnpj;table1.post;end;table1.next;end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 8, 2007 Autor Denunciar Share Postado Fevereiro 8, 2007 Ola..Churc.você Perguntou: Qual o nome do campo CNPJ na tabela?O NOME DO CAMPO É CNPJ/CPFNote 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 programaO que você acha?? B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 8, 2007 Denunciar Share Postado Fevereiro 8, 2007 opaEntão... pouco provável porque senão não seria permitidoo uso de barras em nome de campos... tente assimprocedure TForm1.XiButton5Click(Sender: TObject);VarCnpj:string;beginwhile not Table1.Eof doBegintable1.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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 8, 2007 Autor Denunciar Share Postado Fevereiro 8, 2007 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?? :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 8, 2007 Denunciar Share Postado Fevereiro 8, 2007 opacomo a tabela é de um terceiro importada de um arquivo CSVQuer 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ê mudara forma de leitura rsMesmo que fosse um arquivo de tabela Paradox era só abrirno Database Desktop por exemplo e alterar o nome do campo...Se for de um arquivo CSV, cole uma linha por exemplo do arquivoe também o código que você está fazendo leitura Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 8, 2007 Autor Denunciar Share Postado Fevereiro 8, 2007 Churc....não era o campo da tabela...era um errinho no codigofaltava 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 8, 2007 Denunciar Share Postado Fevereiro 8, 2007 aeaeae :Dbeleza cara!Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eder
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
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.