Bruno Frank Postado Novembro 16, 2004 Denunciar Share Postado Novembro 16, 2004 alguém tem uma função de validação de linha magnética de cheque... obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Novembro 16, 2004 Denunciar Share Postado Novembro 16, 2004 Olá Bruno,De uma olhada nesse código:function Valida_CMC7(Entrada:String) : Boolean; var campo1, campo2, campo3 : String; begin Entrada := SoNumero(Entrada); campo1 := Copy(entrada,1,7); campo2 := Copy(entrada,9,10); campo3 := Copy(entrada,20,10); Result := True; if Modulo10(campo1) <> Copy(Entrada,19,1) then Result := False Else if Modulo10(campo2) <> Copy(Entrada,8,1) then Result := False Else if Modulo10(campo3) <> Copy(Entrada,30,1) then Result := False; end;Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Gerson -- Postado Junho 5, 2008 Denunciar Share Postado Junho 5, 2008 Podem baixar o arquivo em excel que calcula os dígitos verificadoreshttp://www.4shared.com/file/49976554/8cbde...rified=2c7a4f5a1) Digitos de controle da banda de CMC-72) Diagrama de localização dos caracteres magnéticos.1) Digitos de controle da banda de CMC-7.=========================================CMC-7 (APENAS CARACTERES NUMÉRICOS):07102022 4520000345 320210517437ABCDEFG@ HIJKLMNOPQ #RSTUVWXYZ&$# = DV1@ = DV2$ = DV3ABCDEFGDV2 HIJKLMNOPQ DV1RSTUVWXYZ&DV3Calculo do DV1:MULTIPLIQUE A * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE B * 1 MULTIPLIQUE C * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE D * 1 MULTIPLIQUE E * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE F * 1 MULTIPLIQUE G * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSSOME TODOS OS RESULTADOS RETIRE O RESTO DA DIVISÂO POR 10SE O RESULTADO FOR MAIOR QUE 9 O DV1(#) DEVE SER IGUAL A 0CASO CONTRARIO O DV1(#) DEVE SER O RESULTADO DA SUBTRAÇÃO DE 10-RESTOCalculo do DV2:MULTIPLIQUE H * 1 MULTIPLIQUE I * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE J * 1 MULTIPLIQUE K * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE L * 1 MULTIPLIQUE M * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE N * 1 MULTIPLIQUE O * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE P * 1 MULTIPLIQUE Q * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSSOME TODOS OS RESULTADOSRETIRE O RESTO DA DIVISÂO POR 10SE O RESULTADO FOR MAIOR QUE 9 O DV1(#) DEVE SER IGUAL A 0CASO CONTRARIO O DV2(@) DEVE SER O RESULTADO DA SUBTRAÇÃO DE 10-RESTOCalculo do DV3:MULTIPLIQUE R * 1 MULTIPLIQUE S * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE T * 1 MULTIPLIQUE U * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE V * 1 MULTIPLIQUE W * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE X * 1 MULTIPLIQUE Y * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSMULTIPLIQUE Z * 1 MULTIPLIQUE & * 2 SE O RESULTADO FOR MAIOR QUE 9 SOME OS DIGITOSSOME TODOS OS RESULTADOSRETIRE O RESTO DA DIVISÂO POR 10SE O RESULTADO FOR MAIOR QUE 9 O DV1(#) DEVE SER IGUAL A 0CASO CONTRARIO O DV3($) DEVE SER O RESULTADO DA SUBTRAÇÃO DE 10-RESTOBanda Magnética ou CMC7: São os números impressos abaixo do cheque capturados pelo leitor magnetico. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Bruno Frank
alguém tem uma função de validação de linha magnética de cheque... obrigado
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.