GARANTIR DESCONTO

Fórum Boleto delphi - como montar nossonumero? #192574

03/11/2003

0

Instalei o boleto delphi 2.0
e gostaria de saber como faço para informar o nossonumero?
para os bancos bradesco, brasil, banespa.



grato

Anselmo


Anselmo

Anselmo

Responder

Posts

03/11/2003

Lindomar.des

Anselmo,

Se não estou enganado, os bancos usam o mesmo padrão para gerar o nossonumero, sendo assim segue uma função que utilizo para gerar cobrança para o banco do meu estado:

function CalcNossoNumero(Anumber: Integer): Integer;
var
x, d1, d2, soma1, soma2, resto: Integer;
p, q: array[0..7] of integer;
strnumber: string;
const
peso: array[0..8] of integer = (10, 9, 8, 7, 6, 5, 4, 3, 2);
begin
soma1 := 0;
soma2 := 0;
strnumber := format(´¬8.8d´, [Anumber]);
{ calcula d1 e d2}
for x := 0 to 7 do
begin
p[x] := strtoint(strnumber[x + 1]) * peso[x + 1];
soma1 := Soma1 + p[x];
q[x] := strToInt(strNumber[x + 1]) * peso[x];
soma2 := Soma2 + q[x];
end;
resto := soma1 mod 11;
if resto > 1 then
d1 := 11 - Resto
else
d1 := 0;

soma2 := soma2 + (d1 * 2);
resto := soma2 mod 11;
if resto > 1 then
d2 := 11 - Resto
else
d2 := 0;

result := ((anumber * 100) + (d1 * 10) + (d2));
end;

espero que sirva.

Lindomar Sampaio
Vila Velha-ES


Responder

Gostei + 0

03/11/2003

Weber

se você está utilizando o delphi boleto não é necessário calcular o nosso numero basta fazer o componente receber um numero qualquer e ele vai criar o nosso numero automaticamente.


Responder

Gostei + 0

03/11/2003

André Silva

sobre boleto, para aproveitar o tópico, eu tenho uma dúvida:
Com esses códigos o sistema monta um boleto existente certo?
Me corrijam se eu estiver errado.

Como eu teria que fazer para criar novos boletos, como alguns sistemas web fazem?

Valeu! 8)


Responder

Gostei + 0

23/03/2005

Vitor Rubio

Weber, você que criou o delphi boleto, me responda uma coisa: cada banco tem um algoritmo diferente pra calcular o nosso numero?

quanto tempo você demorou pra fazer o componente?

todos os bancos foram testados?

Valew!


Responder

Gostei + 0

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

Aceitar