TEF (NaoConfirmaTransacao)

Delphi

26/03/2007

ola pessoal, gostaria de contar com a ajuda de vocês novamente....
bem eu to usando essa funcao abaixo pra nao confirmar uma transação tef, e uso ela pra verificar na inicializacao do programa e se caso existir o arquivo TEF.TXT significa que aconteceu algo, queda de energia etc....

mas no caso de usar tecban como vocês fazem pra verificar em cada diretorio e nao confirmar a transaçao referida a cada bandeira por exemplo tecban, visa...etc?


a funcao que to usando é essa abaixo:

//////////////////////////////////////////////////////////
// Função: NaoConfirmaTransacao
// Objetivo: Não Confirmar a Transação TEF
// Parâmetros: não há
// Retorno: True para OK ou False para não OK
//////////////////////////////////////////////////////////
function NaoConfirmaTransacao: boolean;
var cLinhaArquivo, cConteudo: string;
cArquivo: TextFile;
lFlag : longbool;
cValor, cNomeRede, cNSU: string;
begin
cLinhaArquivo := ´´;
cConteudo := ´´;
AssignFile( cArquivo, ´C:\TEF_DIAL\RESP\INTPOS.001´ );
Reset( cArquivo );
while not EOF( cArquivo ) do
begin
ReadLn( cArquivo, cLinhaArquivo );
if ( copy( cLinhaArquivo, 1, 3 ) = ´001´ ) then
cConteudo := cConteudo + cLinhaArquivo + #13 + 10;
if ( copy( cLinhaArquivo, 1, 3 ) = ´003´ ) then
cValor := copy( cLinhaArquivo, 11, Length( cLinhaArquivo ) - 10 );
if ( copy( cLinhaArquivo, 1, 3 ) = ´010´ ) then
begin
cConteudo := cConteudo + cLinhaArquivo + 13 + 10;
cNomeRede := copy( cLinhaArquivo, 11,
Length( cLinhaArquivo ) - 10 );
end;
if ( copy( cLinhaArquivo, 1, 3 ) = ´012´ ) then
begin
cConteudo := cConteudo + cLinhaArquivo + #13 + 10;
cNSU := copy( cLinhaArquivo, 11, Length( cLinhaArquivo ) - 10 );
end;
if ( copy( cLinhaArquivo, 1, 3 ) = ´027´ ) then
cConteudo := cConteudo + cLinhaArquivo + 13 + 10;
if ( copy( cLinhaArquivo, 1, 3 ) = ´999´ ) then
cConteudo := cConteudo + cLinhaArquivo;
end;
CloseFile( cArquivo );
cConteudo := ´000-000 = NCN´ + 13 + 10 + cConteudo;
AssignFile( cArquivo, ´INTPOS.001´ );
ReWrite( cArquivo );
WriteLn( cArquivo, cConteudo );
CloseFile( cArquivo );
CopyFile( pchar( ´INTPOS.001´ ),
pchar( ´C:\TEF_DIAL\REQ\INTPOS.001´ ), lFlag );
DeleteFile( ´INTPOS.001´ );
if ( FileExists( ´C:\TEF_DIAL\RESP\INTPOS.STS´ ) ) then
DeleteFile( ´C:\TEF_DIAL\RESP\INTPOS.STS´ );
if ( FileExists( ´C:\TEF_DIAL\RESP\INTPOS.001´ ) ) then
DeleteFile( ´C:\TEF_DIAL\RESP\INTPOS.001´ );

Application.MessageBox( pchar( ´Cancelada a Transação´ + #13 + 13 +
´Rede: ´ + cNomeRede + 13 + ´Doc Nº: ´ + cNSU + 13 + ´Valor: ´ +
FormatFloat( ´,0.00´, StrToFloat( cValor ) / 100 ) ), ´Atenção´,
MB_IconInformation + MB_OK );
end;


valeu pessoal.


L3gion4rio

L3gion4rio

Curtidas 0
POSTAR