Localizar String em arquivo TXT e copiar texto após texto
03/03/2016
0
Estou com uma dúvida e gostaria muito da ajuda de vocês.
Sou programador razoavelmente novo e minha dúvida é a seguinte.
No site da Receita Federal (Link a seguir: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/Cnpjreva_Solicitacao.asp) é possível ver o cartão CNPJ de uma empresa com todos os dados da empresa, por exemplo:
1) Nome da empresa
2) CNPJ
3) Endereço
4) Telefone
Etc...
Gostaria de criar um programa em delphi capaz de ler estas informações do arquivo TXT gerado a partir do cartão CNPJ e obter os dados.
O padrão do cartão CNPJ é:
Comprovante de Inscrição e de Situação Cadastral
Contribuinte,
Confira os dados de Identificação da Pessoa Jurídica e, se houver qualquer divergência, providencie junto à RFB a sua atualização cadastral.
Brasão
REPÚBLICA FEDERATIVA DO BRASIL
CADASTRO NACIONAL DA PESSOA JURÍDICA
NÚMERO DE INSCRIÇÃO
01.234.567/0001-89
MATRIZ
COMPROVANTE DE INSCRIÇÃO E DE SITUAÇÃO CADASTRAL
DATA DE ABERTURA
01/01/2000
NOME EMPRESARIAL
Nome Social da Empresa
TÍTULO DO ESTABELECIMENTO (NOME DE FANTASIA)
********
CÓDIGO E DESCRIÇÃO DA ATIVIDADE ECONÔMICA PRINCIPAL
62.09-1-00 - Suporte técnico, manutenção e outros serviços em tecnologia da informação
CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS
62.04-0-00 - Consultoria em tecnologia da informação
62.03-1-00 - Desenvolvimento e licenciamento de programas de computador não-customizáveis
62.02-3-00 - Desenvolvimento e licenciamento de programas de computador customizáveis
70.20-4-00 - Atividades de consultoria em gestão empresarial, exceto consultoria técnica específica
69.20-6-02 - Atividades de consultoria e auditoria contábil e tributária
62.01-5-01 - Desenvolvimento de programas de computador sob encomenda
CÓDIGO E DESCRIÇÃO DA NATUREZA JURÍDICA
206-2 - SOCIEDADE EMPRESARIA LIMITADA
LOGRADOURO
"Endereço da Empresa"
NÚMERO
"Numero do Endereço"
COMPLEMENTO
"Complemento do Endereço"
CEP
88.888-000
BAIRRO/DISTRITO
"Bairro Do Endereço"
MUNICÍPIO
CURITIBA
UF
PR
ENDEREÇO ELETRÔNICO
"Endereço de E-mail do Cadastro do CNPJ"
TELEFONE
(41) 3333-3333
ENTE FEDERATIVO RESPONSÁVEL (EFR)
*****
SITUAÇÃO CADASTRAL
ATIVA
DATA DA SITUAÇÃO CADASTRAL
06/12/2006
MOTIVO DE SITUAÇÃO CADASTRAL
SITUAÇÃO ESPECIAL
********
DATA DA SITUAÇÃO ESPECIAL
********
Aprovado pela Instrução Normativa RFB nº 1.470, de 30 de maio de 2014.
Emitido no dia 03/03/2016 às 17:26:02 (data e hora de Brasília).
Página: 1/1
A RFB agradece a sua visita. Para informações sobre política de privacidade e uso, clique aqui.
Atualize sua página
------------
Vou ver que tem um campo chamado NÚMERO DE INSCRIÇÃO em uma linha e logo abaixo o dado que é o CNPJ, por exemplo: 01.234.567/0001-89
Então, quero fazer o seguinte...através de um opendialog, identificar o arquivo texto com os dados do cartão CNPJ, clicar em outro botão e capturar o número do CNPJ, da Razão Social, Endereço, etc.
Poderiam me ajudar?
Fábio Sela
Post mais votado
04/03/2016
No evento OnClick botão para carregar o caminho do cartão:
if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName;
No botão para extrair as informações:
var i: Integer; Lista: TStringList; begin Try Lista := TStringList.Create; if FileExists(Edit1.Text) then begin Lista.LoadFromFile(Edit1.Text); for i := 0 to Lista.Count - 1 do begin if pos('NÚMERO DE INSCRIÇÃO', Lista[i]) > 0 then ShowMessage('CNPJ: ' + Lista[i + 1]); if pos('NOME EMPRESARIAL', Lista[i]) > 0 then ShowMessage('Razão Social: ' + Lista[i + 1]); if pos('LOGRADOURO', Lista[i]) > 0 then ShowMessage('Endereço: ' + Lista[i + 1]); end; end; Finally Lista.Free; End; end;
Natanael Ferreira
Mais Posts
16/03/2016
Ferreira
No evento OnClick botão para carregar o caminho do cartão:
if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName;
No botão para extrair as informações:
var i: Integer; Lista: TStringList; begin Try Lista := TStringList.Create; if FileExists(Edit1.Text) then begin Lista.LoadFromFile(Edit1.Text); for i := 0 to Lista.Count - 1 do begin if pos('NÚMERO DE INSCRIÇÃO', Lista[i]) > 0 then ShowMessage('CNPJ: ' + Lista[i + 1]); if pos('NOME EMPRESARIAL', Lista[i]) > 0 then ShowMessage('Razão Social: ' + Lista[i + 1]); if pos('LOGRADOURO', Lista[i]) > 0 then ShowMessage('Endereço: ' + Lista[i + 1]); end; end; Finally Lista.Free; End; end;
Natanael,
EStá faltando o restante dos campos, não?
16/03/2016
Marco Antônio
Abc
16/03/2016
Natanael Ferreira
if pos('NOVO CAMPO', Lista[i]) > 0 then ShowMessage('Novo campo: ' + Lista[i + 1]);
Clique aqui para fazer login e interagir na Comunidade :)