Link de Convierte numero a letras ya no funciona :(

Link de Convierte numero a letras ya no funciona :(

Postby AIDA » Wed Oct 22, 2008 11:44 pm

Hola

Quería bajar de las utilidades el archivo que convierte numero a letras pero el link ya no funciona :(

http://hyperupload.com/download/021257e ... a.prg.html

alguien lo tendrá que me lo pueda compartir


Gracias y muchos saluditos :wink:


Aida
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Link de Convierte numero a letras ya no funciona :(

Postby FranciscoA » Wed Oct 22, 2008 11:50 pm

AIDA wrote:Hola

Quería bajar de las utilidades el archivo que convierte numero a letras pero el link ya no funciona :(

http://hyperupload.com/download/021257e ... a.prg.html

alguien lo tendrá que me lo pueda compartir


Gracias y muchos saluditos :wink:


Aida




Prueba este. También creo que en el foro de Clipper están otros.
No es mío. No recuerdo de donde lo obtuve.

FUNCTION NumLetra(CIFRA)
LOCAL FINAL, CENTS, NUEVA, TEMPORAL, MILLON

FINAL := ""
IF CIFRA < 0
FINAL := "IMPOSIBLE: CANTIDAD NEGATIVA"
RETURN(FINAL)
ELSE
CENTS := SUBSTR(STR(CIFRA, 15, 2), 14, 2)
NUEVA := INT(CIFRA)
ENDIF

************************
* MILLARES DE MILLON *
************************
TEMPORAL := INT(NUEVA/1000000000)
IF TEMPORAL > 0
FINAL := FINAL + GRP_EXPAND(TEMPORAL) + " MIL "
NUEVA := NUEVA - (TEMPORAL * 1000000000)
ENDIF

**********************
* UNIDADES DE MILLON *
**********************
TEMPORAL := INT(NUEVA/1000000)

DO CASE

CASE NUEVA < 2000000
IF (NUEVA % 1000000) = 0
MILLON := " MILLON DE "
ELSE
MILLON := " MILLON "
ENDIF

CASE NUEVA >= 2000000 .AND. NUEVA < 10000000
IF (NUEVA % 1000000) = 0
MILLON := " MILLONES DE "
ELSE
MILLON := " MILLONES "
ENDIF

CASE NUEVA >= 10000000 .AND. NUEVA < 100000000
IF (NUEVA % 1000000) = 0
MILLON := " MILLONES DE "
ELSE
MILLON := " MILLONES "
ENDIF

CASE NUEVA >= 100000000 .AND. NUEVA < 1000000000
IF (NUEVA % 1000000) = 0
MILLON := " MILLONES DE "
ELSE
MILLON := " MILLONES "
ENDIF

ENDCASE

IF TEMPORAL > 0
FINAL := FINAL + GRP_EXPAND(TEMPORAL) + MILLON
NUEVA := NUEVA - (TEMPORAL * 1000000)
ENDIF

***********************
* MILES *
***********************
TEMPORAL := INT(NUEVA/1000)
IF TEMPORAL > 0
FINAL := FINAL + GRP_EXPAND(TEMPORAL) + " MIL "
NUEVA := NUEVA - (TEMPORAL * 1000)
ENDIF
TEMPORAL := NUEVA

*******************
* UNIDADES *
*******************
IF TEMPORAL > 0
FINAL := FINAL + GRP_EXPAND(TEMPORAL)
ENDIF

IF SUBSTR(FINAL,1,2) = "UN" .AND. LEN(FINAL) = 2
** FINAL := FINAL +" "+ MONED +" CON " + CENTS +"/100"
FINAL := FINAL +" CON " + CENTS +"/100"
ELSE
** FINAL := FINAL +" "+ MONEDA+" CON " + CENTS +"/100"
FINAL := FINAL +" CON " + CENTS +"/100"
ENDIF

RETURN(FINAL)

********************

FUNCTION GRP_EXPAND(GRUPO_VAL)
LOCAL ONE_UNIT, TEN_UNIT, CEN_UNIT, GRUPO_STR, NUEVA1

ONE_UNIT := "UN DOS TRES CUATRO CINCO "
ONE_UNIT := ONE_UNIT+"SEIS SIETE OCHO NUEVE DIEZ "
ONE_UNIT := ONE_UNIT+"ONCE DOCE TRECE CATORCE QUINCE "
ONE_UNIT := ONE_UNIT+"DIECISEIS DIECISIETE DIECIOCHO DIECINUEVE VEINTE "
ONE_UNIT := ONE_UNIT+"VEINTIUN VEINTIDOS VEINTITRES VEINTICUATRO"
ONE_UNIT := ONE_UNIT+"VEINTICINCO VEINTISEIS VEINTISIETE VEINTIOCHO "
ONE_UNIT := ONE_UNIT+"VEINTINUEVE "

TEN_UNIT := " TREINTA CUARENTA CINCUENTASESENTA "
TEN_UNIT := TEN_UNIT+"SETENTA OCHENTA NOVENTA "

CEN_UNIT := "CIENTO DOSCIENTOS TRESCIENTOS CUATROCIENTOS"
CEN_UNIT := CEN_UNIT+ "QUINIENTOS SEISCIENTOS SETECIENTOS "
CEN_UNIT := CEN_UNIT+ "OCHOCIENTOS NOVECIENTOS "

GRUPO_STR := ""

IF GRUPO_VAL = 100
NUEVA1 := INT(GRUPO_VAL/100)
GRUPO_VAL := GRUPO_VAL - (NUEVA1 * 100)
GRUPO_STR := GRUPO_STR + " CIEN"
ENDIF

IF GRUPO_VAL > 100
NUEVA1 := INT(GRUPO_VAL/100)
GRUPO_STR := GRUPO_STR + TRIM(SUBSTR(CEN_UNIT, (NUEVA1 *13)-12,13))
GRUPO_VAL := GRUPO_VAL - (NUEVA1 * 100)
GRUPO_STR := GRUPO_STR + " "
ENDIF

IF GRUPO_VAL > 29
NUEVA1 := INT(GRUPO_VAL/10)-1
GRUPO_STR := GRUPO_STR + TRIM(SUBSTR(TEN_UNIT,(NUEVA1*9)-8,9))
NUEVA1 := INT(GRUPO_VAL/10)*10
GRUPO_VAL := GRUPO_VAL - NUEVA1
IF GRUPO_VAL > 0
GRUPO_STR := GRUPO_STR + " Y "
ENDIF
ENDIF

IF GRUPO_VAL > 0
GRUPO_STR := GRUPO_STR + TRIM(SUBSTR(ONE_UNIT,(GRUPO_VAL*12)-11,12))
ENDIF

RETURN(GRUPO_STR)


Saludos.
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

GRACIAS

Postby AIDA » Wed Oct 22, 2008 11:56 pm

Muchos tenquius :D

vere como funciona y como usarla


Gracias :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 57 guests