0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan3 halaman
El documento presenta tres funciones para validar números de identificación: una para validar CUIT en Pascal, otra para validar CUIT en PHP, y una tercera para validar RUT en Visual Basic. Cada función calcula un dígito verificador a través de operaciones matemáticas sobre los dígitos del número para compararlo con el dígito provisto y así determinar si el número es válido.
El documento presenta tres funciones para validar números de identificación: una para validar CUIT en Pascal, otra para validar CUIT en PHP, y una tercera para validar RUT en Visual Basic. Cada función calcula un dígito verificador a través de operaciones matemáticas sobre los dígitos del número para compararlo con el dígito provisto y así determinar si el número es válido.
Hak Cipta:
Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online dari Scribd
El documento presenta tres funciones para validar números de identificación: una para validar CUIT en Pascal, otra para validar CUIT en PHP, y una tercera para validar RUT en Visual Basic. Cada función calcula un dígito verificador a través de operaciones matemáticas sobre los dígitos del número para compararlo con el dígito provisto y así determinar si el número es válido.
Hak Cipta:
Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online dari Scribd
TablaMul:Array[1..10] of Integer=(5,4,3,2,7,6,5,4,3,2); {Tabla Arbitraria}
function EsCUITValido(Num:String):boolean; type ArrayDe11=Array[1..11] of Integer; var R:ArrayDe11; {Resultados de Multiplicar por la Tabla Arbitraria} CUIT:ArrayDe11; {Para convertir cada digito} I:Integer; {Indice} Sumatoria, {Sumatoria de los Digitos menos el último} Dividendo, {Resultado de la División} Producto, Diferencia, DigitoVerif:Integer; {Digito Verificador Calculado} begin result:=false; { Asumir Invalido } if Length(Num) = 11 then begin try for i:=1 to 11 do CUIT[i]:=StrToInt(Num[i]); { Convertir cada caracter a Número} except Exit; { Si hay error de conversión e s CUIT invalido} end; { try } end else Exit; { if } { Si no tiene 11 caracteres es CUIT invalido } for i:=1 to 10 do // Multiplicar cada digito por la R[i]:=CUIT[i]*TablaMul[i]; // Tabla Arbitraria menos el último Sumatoria:=0; for i:=1 to 10 do Sumatoria:=Sumatoria+R[i]; // Calcular la sumatoria de los resultados Dividendo:=Sumatoria div 11; // Dividir por 11 (división entera) Producto:=Dividendo * 11; // El resultado multiplica por 11 Diferencia:=Sumatoria - Producto; // Obtener la diferencia if Diferencia > 0 then // Si la dif. es mayor a cero DigitoVerif:=11 - Diferencia // El digito verificador es 11 menos la dife rencia else DigitoVerif:=Diferencia; // sino es Cero. if DigitoVerif = CUIT[11] then result:=true; // si el Digito Verificador es ig ual end; -------------------------------------------------------------------------------- ----------------- -------------------------------------------------------------------------------- ----------------- function UfValidStrCuit($cuit,&$resultado) { $coeficiente[0]=5; $coeficiente[1]=4; $coeficiente[2]=3; $coeficiente[3]=2; $coeficiente[4]=7; $coeficiente[5]=6; $coeficiente[6]=5; $coeficiente[7]=4; $coeficiente[8]=3; $coeficiente[9]=2; $resultado=1; for ($i=0; $i < strlen($cuit); $i= $i +1) { //separo cualquier caracter que no tenga que ver con numeros if ((Ord(substr($cuit, $i, 1)) >= 48) && (Ord(substr($cuit, $i, 1)) <= 57)) { $cuit_rearmado = $cuit_rearmado . substr($cuit, $i, 1); } } If (strlen($cuit_rearmado) <> 11) { // si to estan todos los digitos $resultado=0; } Else { $sumador = 0; $verificador = substr($cuit_rearmado, 10, 1); //tomo el digito verificador For ($i=0; $i <=9; $i=$i+1) { $sumador = $sumador + (substr($cuit_rearmado, $i, 1)) * $coeficiente[$i];//se paro cada digito y lo multiplico por el coeficiente } $resultado = $sumador % 11; $resultado = 11 - $resultado; //saco el digito verificador $veri_nro = intval($verificador); If ($veri_nro <> $resultado) { $resultado=0; } else { $cuit_rearmado = substr($cuit_rearmado, 0, 2) . "-" . substr($cuit_rearmado, 2, 8) . "-" . substr($cuit_rearmado, 10, 1); } } } -------------------------------------------------------------------------------- ---------------------- -------------------------------------------------------------------------------- ---------------------- Function valida_rut(rt As String) As Boolean increm = 2 suma = 0 For i = 10 To 1 Step -1 dig = Mid$(rt, i, 1) If (dig <> ".") Then dig = Val(dig) suma = suma + (increm * dig) If increm = 7 Then increm = 1 End If increm = increm + 1 End If Next i resto = suma Mod 11 dig_ver = 11 - resto Select Case dig_ver Case Is = 11 dig_ver = "0" Case Is = 10 dig_ver = "K" End Select If dig_ver = Mid$(rt, 12, 1) Then val_rut = True Else val_rut = False End If End Function