terça-feira, 4 de janeiro de 2011

TEF - Comunicando com o Gerenciador Padrão

Vimos no artigo passado, a lógica de funcionamento do TEF. Agora vamos "colocar a mão na massa" e começar a desenvolver as nossas rotinas!

Nesta edição, iremos realizar a primeira comunicação com o Gerenciador Padrão e tratar todos os retornos e mensagens possíveis.

A idéia é verificarmos se o Gerenciador Padrão está ativo, antes de iniciarmos uma transação TEF.

- Exemplo em Delphi

//////////////////////////////////////////////////////////
// Esta função verifica se o Gerenciador Padrão está ATIVO
//////////////////////////////////////////////////////////
function VerificaGerenciadorPadrao;
var
   cConteudoArquivo: string;
   cIdentificacao  : TDateTime;
   cArquivo : TextFile;
   iTentativas : integer;
   lFlag : longbool;
begin
   AssignFile( cArquivo, 'INTPOS.001');
   cConteudoArquivo := '';
   cIdentificacao := Time;
   cConteudoArquivo := '000-000 = ATV' + #13 + #10 +
                       '001-000 = ' + FormatDateTime( 'hhmmss', cIdentificacao )
                                   + #13 + #10 +
                       '999-999 = 0';
   ReWrite( cArquivo );
   WriteLn( cArquivo, cConteudoArquivo );
   CloseFile( cArquivo );
   CopyFile( pchar( 'INTPOS.001' ),
            pchar( 'C:\TEF_DIAL\REQ\INTPOS.001' ), lFlag );
   DeleteFile( 'INTPOS.001' );
   for iTentativas := 1 to 7 do
      begin
         if ( FileExists( 'C:\TEF_DIAL\RESP\ATIVO.001' ) ) or
           ( FileExists( 'C:\TEF_DIAL\RESP\INTPOS.STS' ) ) then
            begin
               Application.MessageBox( 'O Gerencial Padrão se encontra ATIVO !',
                                      'Atenção', MB_IconInformation + MB_OK );
               break;
            end;
            Sleep( 1000 );
            if ( iTentativas = 7 ) then
               begin
                  Application.MessageBox( 'O Gerencial Padrão INATIVO!',
                                          'Atenção',
                                          MB_IconInformation + MB_OK );
                  Break;
               end;
      end;
end; 

2 comentários:

  1. Muito bom. Obrigado pela ajuda. O Desenvolvimento de software somente é possível graças a disposição daqueles que tem conhecimento de compartilhar com os que ainda estão adquirindo ou estão enfrentando alguma dificuldade. Parabéns, continue sempre.

    ResponderExcluir
    Respostas
    1. Olá!

      A ajuda mutua deveria existir em todas as profissões, porém, a ganancia e a soberba prevalecem. Se precisar de mais ajuda, estou a disposição.

      Seja sempre bem Vindo(a)!!

      Excluir