Bienvenido al foro
suponiendo que conoces el algoritmo solo te voy a colocar como separar el codigo para
hacer los calculos para sacar el digito. lo mejor para esto es la función substr(), puedes hacerlo asi
r1 = 0
R2 = 0
vGuia = .T.
a = "123456789123"
FOR i = LEN(a) TO 1 STEP -1
IF vGuia = .T.
r1 = val(r1+substr(a,i,1))
MESSAGEBOX("Par"+r1)
vGuia = .F.
ELSE
r2 = val(r2+substr(a,i,1))
MESSAGEBOX("imPar"+r2)
vGuia = .t.
endif
ENDFOR
messagebox("Total Par "+ r1)
messagebox("Total Impar "+ r2)
ah tambien seria bueno que le coloques la funcion isdigit() para evitar que coloquen letras.
Esto te permite calcular el digito para cualquier formato 128, ean 13, inclusive del de 14.
Bueno espero te sirva