GARANTIR DESCONTO

Fórum Código de Barras ( Intepretação ) #290662

03/08/2005

0

Olá amigos delphianos !

Bom, eu consegui fazer com que o leitor optico jogue a sequencia de numeros dentro de um edit. mas estou com problemas ! Tomemos como exemplo a seguinte linha de números :

00194.41997 40000.072005 09082.005217 2 2863000001206

Bom , eu já consegui extrair daí o código do banco e o valor , mas estou com problemas ! Como faço para extrair a data de vencimento do boleto ? E como formatar o campo valor , pois está aparecendo somente 000001206 !!! e eu quero que aparece 12,06 !!! Ah ! E a data , se alguém souber da onde tira .... como fazer pra formatar ela tb !!! 09/08/2005 = vencimento do boleto que eu digitei acima ... !!!


Valeu galera !!!


Tiagojmilam

Tiagojmilam

Responder

Posts

04/08/2005

Cirilo

Tiago,

Uma observação: Leitores de cheques podem enviar o código de barras em 2 formatos:
1)String com 44 números ( o contéudo exato da barra )
2)String com 47 números ( o contéudo da barra mais 3 dígitos )

(a sequencia dos campos é totalmente diferente)

No seu exemplo são de 47 números
00194.41997 40000.072005 09082.005217 2 [b:268b02d331]2863[/b:268b02d331]000001206

destaquei o fator de vencimento:
2863
para converter em data
considere 07/10/1997 como 0 e some o fator = data de vencimento
07/10/1997 + 2863 = 09/08/2005

{Pegar o vencimento da linha digitavel}
function GerarVencto(sLinha1: ShortString): TDateTime;
var iFator: Integer;
dDataIni: TDateTime;
begin
dDataIni:=StrtoDate(´07/10/1997´);
sLinha1:=SomenteNumeros(sLinha1);
iFator :=StrToInt(copy(sLinha1,34,4));
Result:=dDataIni + iFator;
end;


Ps: isto vale para boleto tipo cobrança, tipo arrecadação(Gás,Luz, água) é totalmente diferente.

http://www.veloso.adm.br
ferramentas para webmasters e programadores


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar