Validar campo en formulario

Respuesta de
a
Usuario
Me explico, tengo un campo dentro de un formulario en el cual que se ingresa el Rut (numero único nacional, en Chile el nombre que tiene el numero de cedula de identidad es Rut), para que el rut sea correcto usa un dígito verificador que se asigna mediante una función matemática, me conseguí el código para validar que el numero que se ingresa es correcto, pero el problema que tengo es que no se donde ingresar ese código para que me lo valide, el numero tiene la siguiente estructura xx.xxx.xxx - POR, donde POR (mayúsculas) es el dígito verificador y el código que lo verifica es el siguiente:

FUNCTION Val_Rut
PARAMETERS rut,digver
STORE 0 TO suma
STORE 2 TO j
Largo = LEN(rut)

FOR i = Largo TO 1 STEP -1
Dig = VAL(SUBSTR(rut,i,1))
suma = suma + (Dig * j)
IF j = 7
j = 1
ENDIF
j = j + 1
ENDFOR
RESTO = MOD(suma,11)
DO CASE
CASE RESTO = 0
dv = 0
CASE RESTO = 1
dv = "K"
IF digver = "k" OR digver = "K"
* WAIT 'RUT INCORRECTO!!!' WINDOWS
RETURN .F.
ENDIF
RETURN .T.
OTHERWISE
dv = 11 - RESTO
ENDCASE
IF digver == ALLTRIM(STR(dv))
RETURN .T.
ELSE
* WAIT 'RUT INCORRECTO!!!' WINDOWS
RETURN .F.
Endif
endfunc

Trate de colocarlo en la opción valid del campo rut, pero me sale "Los métodos y eventos no pueden contener procedimientos o definiciones de clases anidadas". Ahora se me ocurre que a lo mejor tengo que crear 2 cuadros de textos, uno para el numero y otro para el dígito verificador.
De antemano muchísimas gracias, estoy un poco urgido con esto ya que lo tengo que entregar luego por lo que cualquier ayuda sirve.
Gracias
Usuario
Gracias, me corregiste el código y funciono, aunque tuve que hacer unos cambios en mi código original
Experto
Lo que tienes que hacer es crear un método en el formulario con el nombre de la función, pasar todo el código de la funciona a ese método(quitándole la linea FUNCTION Val_Rut) y luego desde el valid del textbox llamar a ese método así:
Thisform. Val_Rut(cRut,cDigito).

Espero te sirva