Pesquisar na Comunidade
Showing results for tags 'chassis'.
Encontrado 1 registro
-
Precisei criar uma função para validar o número de Chassis de veículos (VIN). Segue o código como contribuição. Talvez possa ser incluído no ACBrValidador. function ValidaChassis(Chassis:string): boolean; var i,Soma,Numero,Resto: integer; Digito:string; function NumeroDaLetra(Letra:string):integer; begin if Letra = 'A' then result := 1 else if Letra = 'B' then result := 2 else if Letra = 'C' then result := 3 else if Letra = 'D' then result := 4 else if Letra = 'E' then result := 5 else if Letra = 'F' then result := 6 else if Letra = 'G' then result := 7 else if Letra = 'H' then result := 8 else if Letra = 'I' then result := 9 else if Letra = 'J' then result := 1 else if Letra = 'K' then result := 2 else if Letra = 'L' then result := 3 else if Letra = 'M' then result := 4 else if Letra = 'N' then result := 5 else if Letra = 'O' then result := 6 else if Letra = 'P' then result := 7 else if Letra = 'Q' then result := 8 else if Letra = 'R' then result := 9 else if Letra = 'S' then result := 2 else if Letra = 'T' then result := 3 else if Letra = 'U' then result := 4 else if Letra = 'V' then result := 5 else if Letra = 'W' then result := 6 else if Letra = 'X' then result := 7 else if Letra = 'Y' then result := 8 else result := 9; end; begin if length(Chassis) <> 17 then raise Exception.Create('Número do Chassis deve tger 17 caracteres'); Soma := 0; for i := 1 to 17 do begin if ((Chassis >= '0') and (Chassis <= '9')) then Numero := StrToInt((Chassis)) else Numero := NumeroDaLetra(Chassis); case i of 1,11: Soma := Soma + Numero * 8; 2,12: Soma := Soma + Numero * 7; 3,13: Soma := Soma + Numero * 6; 4,14: Soma := Soma + Numero * 5; 5,15: Soma := Soma + Numero * 4; 6,16: Soma := Soma + Numero * 3; 7,17: Soma := Soma + Numero * 2; 8 : Soma := Soma + Numero * 10; 9 : Soma := Soma + Numero * 0; 10 : Soma := Soma + Numero * 9; end; end; Resto := Soma Mod 11; if Resto = 10 then Digito := 'X' else Digito := IntToStr(Resto); result := Digito = Chassis[9]; end;