Calcular e validar CMC7 do cheque |
Top Previous Next |
|
Function CalculaC3(numero: String): String; var x, resto, tam, digito : Integer; d, d_aux : String; begin digito:= 0;
d_aux := SoNumero(numero); tam := length(d_aux); d := copy(d_aux,0,tam);
For x:= 1 To length(d) Do begin digito:= digito + (StrToInt(d[x])*(length(d)+2-x)); End;
digito := digito * 10; resto := digito mod 11; digito := resto; resto := digito mod 10; Result := IntToStr(resto); End;
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; |