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;  
 
 
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.
ResponderExcluirOlá!
ExcluirA 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)!!