Buscar

Lendo arquivos de texto padronizados

nome

Expedito Cordeiro

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Lendo arquivos de texto padronizados

A manipulação de arquivos de texto é muito utilizada hoje em dia, em sua grande parte por arquivos de compensação bancária ou interpretação de arquivos liberados por sistemas biométricos.

Podemos citar como exemplo o fato de uma loja que vende por meio de boletos bancários e recebe mensalmente do banco um arquivo com valores padronizados referentes aos pagamentos de seus clientes. Por ser um arquivo muito grande e que possui muitas informações fica inviável para a loja fazer a confirmação dos pagamentos manualmente, pra isso existem softwares que fazem a interpretação desses arquivos.

Vamos ver agora um exemplo pratico de manipulação de arquivo de texto, que pode ser adaptado de acordo com a necessidade do desenvolvedor. Nosso intuito aqui é mostrar como funciona a captação e leitura desses dados:

Tomemos como exemplo um sistema de ponto biométrico que tem como saída um arquivo de texto: crie um arquivo de texto com o seguinte padrão:


Onde a primeira coluna traz a data no format: dd/mm/aaaa , a segunda coluna a hora no formato hh:mm:ss e a terceira coluna mostra a matrícula do funcionário com 11 dígitos. Note que para calcular o número de horas trabalhado por um funcionário dessa empresa é necessário que o software capte os valores desse arquivo de texto e os interprete corretamente.

Vamos ao Delphi

File > New > Application. Coloque no Form um componente TButton, um TListBox e um componente TOpenDialog:


No componente TOpenDialog clique na propriedade Filter:


E coloque a seguinte definição para o filtro:


Depois clique em Ok. Dessa forma nosso componente TOpenDialog só vai procurar por Arquivos do tipo TXT.

No componente TButton coloque o seguinte código:

procedure TForm1.Button1Click(Sender: TObject);
var
ArqTxt : TextFile;
linha : string;
begin
    if OpenDialog1.Execute then
      if Application.MessageBox('Deseja Realmente Carregar o Arquivo Selecionado?',pchar(application.title),+MB_ICONQUESTION+MB_YESNO+MB_DEFBUTTON1) = id_yes then
      begin
       AssignFile(ArqTxt,OpenDialog1.FileName); // Abrir o arquivo
            Reset(ArqTxt);
            while not eof(ArqTxt) do
            begin
                Readln(ArqTxt, Linha);
                listbox1.Items.add('Data: '+copy(linha, 1, 10));
                listbox1.Items.add('Hora: '+copy(linha, 12, 8));
                listbox1.Items.add('Matrícula: '+copy(linha, 21, 11));
                listbox1.Items.add(' ');
            end;
            Closefile(ArqTxt);
       end;
end;

Pronto! Rode o Programa e clique no Botão.

Aparecerá a caixa de diálogo para que possa selecionar o arquivo de texto, procure pelo arquivo que você criou e clique em abrir:

Aparecerá a seguinte pergunta:


Responda sim e veja o resultado. Note que o ListBox vai receber os valores de cada linha processados. Agora use sua imaginação e utilize como quiser.

Um abraço a todos! Até a próxima.
Expedito Cordeiro.

Publicidade

Vote no artigo




Quantidade de votos: 2 votos
Aceitação: 20%


Detalhes do artigo

Categoria: Windows
Adicionado dia: 14/09/09
Por: Expedito Cordeiro
Visualizado: 20519 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009