******************** PROCEDIMIENTO MONTO ************************
*Este parametro Recibe un Valor Númerico
*Asi lo Valida
* si lo vas utilizar desde dentro de un Form enviale como parametro el numero * a conventri en letras. en este ejemplo le coloco directamente el valor a * convertir.
*public pvalor
*pvalor = 3500
**Lparameters pvalor
public nump
IF pvalor <= 0
MessageBox("El Valor dado es incorrecto, vuelva a intentarlo..")
Return
Endif
* Le devuelvo la parte enetra del Valor a la variable EnteroV
ENTEROV=INT(pvalor)
N = ""
N1 = "Un"
N2 = "Dos"
N3 = "Tres"
N4 = "Cuatro"
N5 = "Cinco"
N6 = "Seis"
N7 = "Siete"
N8 = "Ocho"
N9 = "Nueve"
N10 = "Diez"
N11 = "Once"
N12 = "Doce"
N13 = "Trece"
N14 = "Catorce"
N15 = "Quince"
N16 = "Dieciseis"
N17 = "Diecisiete"
N18 = "Dieciocho"
N19 = "Diecinueve"
N20 = "Veinte"
N30 = "Treinta"
N40 = "Cuarenta"
N50 = "Cincuenta"
N60 = "Sesenta"
N70 = "Setenta"
N80 = "Ochenta"
N90 = "Noventa"
IF ENTEROV <> 100
N100 = "Ciento"
ENDIF
IF ENTEROV = 100
N100="Cien"
ENDIF
N200 = "Doscientos"
N300 = "Trescientos"
N400 = "Cuatrocientos"
N500 = "Quinientos"
N600 = "Seiscientos"
N700 = "Setecientos"
N800 = "Ochocientos"
N900 = "Novecientos"
CONTADOR = 1
INICIO = 1
CADENA = STR(ENTEROV,9)
NUMP = " "
DO WHILE CONTADOR < 4
SUBCADENA = SUBSTR(CADENA,INICIO, 3)
CENTENA = SUBSTR(SUBCADENA,1,1)+"00"
DECENA = SUBSTR(SUBCADENA,2,2)
UNIDAD = SUBSTR(SUBCADENA,3,1)
IF VAL(SUBCADENA) > 99
NUMP = NUMP + N&CENTENA + " "
ENDIF (SUBCADENA > 99)
T = VAL(DECENA)
IF T > 0
DO CASE
CASE (INT(T/10.0) = T/10.0) .OR. (T > 9 .AND. T < 20)
NUMP = NUMP + N&DECENA
CASE T > 9 .AND. (INT(T/10.0) # T/10.0)
DECENA = SUBSTR(DECENA,1,1) + "0"
IF DECENA # "20"
NUMP = NUMP + N&DECENA + " Y " + N&UNIDAD
ELSE
NUMP = NUMP + "Venti" + N&UNIDAD
ENDIF
CASE T < 10
NUMP = NUMP + N&UNIDAD
ENDCASE
ENDIF (T > 0)
IF ENTEROV > 999999 .AND. CONTADOR = 1
NUMP = NUMP + " Millones "
ENDIF
IF NUMP = " Uno Millones "
NUMP = " Un Millon"
ENDIF
IF NUMP = " Ciento Mil"
NUMP = " Cien Mil "
ENDIF
IF ENTEROV > 999 .AND. CONTADOR = 2 .AND. VAL(SUBCADENA) > 0
NUMP = NUMP + " Mil "
ENDIF
IF NUMP = " Uno Mil "
NUMP = " Mil "
ENDIF
INICIO = CONTADOR * 3 + 1
CONTADOR = CONTADOR + 1
ENDDO
CENTAV = pvalor-INT(pvalor)
* CENTAV = THISFORM.VABO.VALUE - INT(THISFORM.VABO.VALUE)
CENTAV = ROUND((CENTAV*100),0)
CENTAV = INT(Centav)
CENTAV = STR(Centav,2)
CENTAV = STRTRAN(Centav," ","0")
NUMP="**("+ NUMP + " Pesos "+ Centav + "/100 M. N.)**"
thisform.refresh
* Al Final en Nump Esta el Valor en Letras
*? nump
*return
**************************** FIN DEL PROCESO...*********************