Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Miss

Loop

Recommended Posts

Bom dia galera! td certo?Tô meio quebrando a cabeça num loop aki meio complicado, segue:imaginemos q a variavel "str" em algum momento seja (str = "0824756386"), desta forma preciso fazer o seguinte calculo:str = 0 8 2 4 7 5 6 3 8 6 Xmultiplicadores = 8 9 2 3 4 5 6 7 8 9 --------------------- 0 72 4 ...a duvida é, como eu faria um loop de 1 ate o length dessa str pra ir multiplicando os valores, ex:0x8= 08x9= 722x2= 4visto q o length da str pode mudar, em algum momento str por ser str="4325" ...ps: os multiplicadores variam de 9 a 2 sendo que primeiro caracter da str da direita pra esquerda devera ser multiplicado por 9, o segundo por 8 e assim sucessivamente....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto é o cálculo de digito verificar módulo 11, hehehe

No caso você precisa começar da ponta direita para a esquerda e vir subindo no cálculo, decrementando o n° de 9 até 2, pode fazer usando o comando dowto em um for, algo do tipo:

 

 

var	x, multiplica, soma: integer;beginmultiplica:=9;soma:=0;for x:=Length(numero_desejado) downto 1 do	begin	soma:=soma + (StrToInt(Copy(numero_desejado, x, 1)) * multiplica);	Dec(multiplica);	if (multiplica < 2) then		multiplica:=9;	end;ShowMessage(IntToStr(soma));

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza Rodrigo, tenta simular um pagamento on-line, caso consiga chegar a tela de confirmação beleza...Depois pode tentar pagar no banco usando o código de barras...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.