Importando registros de arquivo de retorno de folha de pagamento para um servidor na nuvem. - Part 1

Olá, a todos.

Neste post, vamos falar da necessidade de importar dados de uma base qualquer ou apenas um grupo de registros a um servidor remoto através da internet. Em muitas regiões temos acesso bem limitado devido a problemas de infraestrutura e outras mazelas. Mas diante da necessidade de enviar estes dados para a internet possivelmente pra serem consumidos por outro serviço ou coisa do tipo, temos a necessidade de escrever este tipo de programa. Lembrando que esta talvez não seja a melhor forma de fazer este envio de dados, uma vez que não será usado uma api RestFull. Contudo o resultado final será o mesmo, talvez com menos elegância. 
Tá mas porque não usar RestFull? A resposta mais sensata é que pra um projeto pequeno e onde não haja necessidade de uma performance tão espetacular e estas importações será executada talvez menos que uma dezena de vezes por mês...
Bom, deixando de conversa fiada. Vamos ao que interessa.
O projeto parte da necessidade de Importar alguns dados de um arquivo de retorno de folha de pagamento do banco Bradesco. O que será feito é identificar o número da conta, o funcionário e o valor que ele esta recebendo. Para eu saber as posições certas no arquivo de retorno foi utilizado o arquivo de layout do banco, disponibilizado em seu site. A interface do programa ficou conforme a figura abaixo.

Foi utilizado uma meia duzia de componentes visuais que acredito você já deve estar acostumado. Para importar os dados do registro utilizou-se a seguinte estratégia, veja abaixo.
O que é feito ai é o seguinte: 
  1. Primeiro são criadas as variáveis, sendo uma delas um TextFile, responsável por abrirmos o arquivo para que possamos ler seus dados. 
  2. Atente para o AssignFile que liga (cria um ponteiro) entre a variável arq (TextFile) e o arquivo selecionado pelo usuário. 
  3. Temos também uma variável de retorno IOResult e perceba que qualquer valor diferente de 0 (zero) significa que a associação não feita com sucesso. 
  4. Logo mais abaixo entre {$I-} e   {$I+} (diretivas de compilação) você entrará o comando Reset que tem a finalidade de abrir o arquivo para leitura. 
  5. Seguindo é utilizado um laço de repetição para que o arquivo possa ser varrido e os dados de interesse possam ser inseridos em uma tabela virtual criada com o componente TFDMemTable 
  6. Após o final do laço provavelmente se tudo ocorrer bem, teremos a lista de funcionários e seus respectivos pagamentos recebidos em suas contas.
Por hora é só... aguarde a próxima parte.

Comentários

Postagens mais visitadas deste blog

AWS para Desenvolvedores - Dominando S3 com Delphi

Preenchendo com zeros a esquerda de um valor com Firebird

Selecionando apenas o ultimo registro inserido com SQLite