El algoritmo de Luhn o f贸rmula de Luhn, tambi茅n conocida como "algoritmo de m贸dulo 10", es una f贸rmula de suma de verificaci贸n, utilizada para validar una diversidad de n煤meros de identificaci贸n; como n煤meros de tarjetas de cr茅dito, n煤meros IMEI, etc.
Function lAlgLuhn( cImei )
Local cDigCk := Val( Right( cImei, 1 ) )
Local nAt := 0
Local nSum := 0
Local c := ""
For nAt := 1 to ( Len( cImei ) - 1 )
If Mod( nAt, 2 ) == 0
c := AllTrim( cStr( Val( SubStr( cImei, nAt,1) ) * 2 ) )
cNum := If( ( Len(c) >= 2 ), AllTrim( cStr( Val( substr(c,1,1) ) + Val( substr(c,2,1) ) ) ), c )
Else
cNum := SubStr( cImei, nAt,1 )
EndIf
nSum += Val( cNum )
Next nAt
Return( Val( substr( AllTrim( cStr( nSum * 9 ) ), -1, 1 ) ) == cDigCk )Saludos,
Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/