Tecnologia, programação e muito Visual FoxPro.

segunda-feira, 21 de setembro de 2009

Re: [usuarios_fox] Consulta

 

Muchisimas gracias, eso es justamente lo que andaba queriendo realizar.
:D

El 21 de septiembre de 2009 12:50, MARTIN IBARRA <
maibarraromero@yahoo.com.mx> escribió:

>
>
> A lo mejor esto te puede servir
>
> ****************
>
> * Comentarios : conversion de numeros a letras
>
> * Fecha : 9:30:31 9/13/1989
>
> * Modificado : Martin Ibarra Romero
>
> *
>
> * Entrada
>
> * x_numero = cantidad a convertir
>
> * tipo = "N" para pesos y en otro caso dolares
>
> * salida
>
> * leyenda
>
> * ejemplo:
>
> * mensaje=num_let(numero)
>
> *
>
> FUNCTION num_let
>
> PARAMETERS x_numero
>
> PRIVATE leyenda, alfa, N, x, l
>
> * asignacion de leyendas
>
> ciento9 = "NOVECIENTOS "
>
> ciento8 = "OCHOCIENTOS "
>
> ciento7 = "SETECIENTOS "
>
> ciento6 = "SEISCIENTOS "
>
> ciento5 = "QUINIENTOS "
>
> ciento4 = "CUATROCIENTOS "
>
> ciento3 = "TRESCIENTOS "
>
> ciento2 = "DOSCIENTOS "
>
> ciento1 = "CIENTO "
>
> cien = "CIEN "
>
> ciento0 = ''
>
> *
>
> decenta9 = "NOVENTA "
>
> decenta8 = "OCHENTA "
>
> decenta7 = "SETENTA "
>
> decenta6 = "SESENTA "
>
> decenta5 = "CINCUENTA "
>
> decenta4 = "CUARENTA "
>
> decenta3 = "TREINTA "
>
> decenta0 = ''
>
> * RAROS
>
> quince = "QUINCE "
>
> catorce = "CATORCE "
>
> trece = "TRECE "
>
> doce = "DOCE "
>
> once = "ONCE "
>
> *
>
> unidad9 = "NUEVE "
>
> unidad8 = "OCHO "
>
> unidad7 = "SIETE "
>
> unidad6 = "SEIS "
>
> unidad5 = "CINCO "
>
> unidad4 = "CUATRO "
>
> unidad3 = "TRES "
>
> unidad2 = "DOS "
>
> unidad1 = "UN "
>
> unidad0 = ''
>
> unidad00 = ''
>
> unidad09 = "NUEVE "
>
> unidad08 = "OCHO "
>
> unidad07 = "SIETE "
>
> unidad06 = "SEIS "
>
> unidad05 = "CINCO "
>
> unidad04 = "CUATRO "
>
> unidad03 = "TRES "
>
> unidad02 = "DOS "
>
> unidad01 = "UN "
>
> unidad10 = "DIEZ "
>
> unidad11 = "ONCE "
>
> unidad12 = "DOCE "
>
> unidad13 = "TRECE "
>
> unidad14 = "CATORCE "
>
> unidad15 = "QUINCE "
>
> unidad16 = "DIECISEIS "
>
> unidad17 = "DIECISIETE "
>
> unidad18 = "DIECIOCHO "
>
> unidad19 = "DIECINUEVE "
>
> unidad20 = "VEINTE "
>
> unidad21 = "VEINTIUN "
>
> unidad22 = "VEINTIDOS "
>
> unidad23 = "VEINTITRES "
>
> unidad24 = "VEINTICUATRO "
>
> unidad25 = "VEINTICINCO "
>
> unidad26 = "VEINTISEIS "
>
> unidad27 = "VEINTISIETE "
>
> unidad28 = "VEINTIOCHO "
>
> unidad29 = "VEINTINUEVE "
>
> IF x_numero<=0
>
> leyenda="(CERO PESOS 00/100 M.N.)"
>
> ELSE
>
> xcentavos=(x_numero-INT(x_numero))*100
>
> * xcentavos=SUBSTR(ALLTRIM(STR(xcentavos*100,3)),1,2)
>
> xcentavos=strzero(xcentavos,2)
>
> x_numero =INT(x_numero)
>
> leyenda = "("
>
> alfa = ALLTRIM(STR(x_numero,19,9))
>
> l = LEN(alfa)
>
> DO WHILE .T.
>
> DO CASE
>
> CASE l = 19
>
> x = SUBSTR(alfa,1,1)
>
> IF x="1" .AND. SUBSTR(alfa,2,2) = "00"
>
> leyenda = leyenda + cien + "MILLONES "
>
> N = 3
>
> ELSE
>
> IF SUBSTR(alfa,2,2) = "00"
>
> leyenda = leyenda + ciento&x + "MILLONES "
>
> N = 3
>
> ELSE
>
> leyenda = leyenda + ciento&x
>
> N = 1
>
> ENDIF
>
> ENDIF
>
> *
>
> CASE l = 18
>
> x = SUBSTR(alfa,1,2)
>
> IF x > "00" .AND. x < "30"
>
> leyenda = leyenda + unidad&x + "MILLONES "
>
> ELSE
>
> x = SUBSTR(alfa,1,1)
>
> leyenda = leyenda + decenta&x
>
> IF SUBSTR(alfa,2,1) <> "0"
>
> leyenda = leyenda + "Y "
>
> x = SUBSTR(alfa,2,1)
>
> leyenda = leyenda + unidad&x + "MILLONES "
>
> ELSE
>
> leyenda = leyenda + "MILLONES "
>
> ENDIF
>
> ENDIF
>
> N = 2
>
> *
>
> CASE l = 17
>
> x = SUBSTR(alfa,1,1)
>
> IF leyenda = "(" .AND. x="1"
>
> leyenda = leyenda + unidad&x + "MILLON "
>
> ELSE
>
> leyenda = leyenda + unidad&x + "MILLONES "
>
> ENDIF
>
> N = 1
>
> *
>
> CASE l = 16
>
> x = SUBSTR(alfa,1,1)
>
> IF x = "1" .AND. SUBSTR(alfa,2,2) = "00"
>
> leyenda = leyenda + cien + "MIL "
>
> N = 3
>
> ELSE
>
> IF x <> "0" .AND. SUBSTR(alfa,2,2) = "00"
>
> leyenda = leyenda + ciento&x + "MIL "
>
> N = 3
>
> ELSE
>
> leyenda = leyenda + ciento&x
>
> N = 1
>
> ENDIF
>
> ENDIF
>
> *
>
> CASE l = 15
>
> x = SUBSTR(alfa,1,2)
>
> IF x > "00" .AND. x < "30"
>
> leyenda = leyenda + unidad&x + "MIL "
>
> ELSE
>
> x = SUBSTR(alfa,1,1)
>
> leyenda = leyenda + decenta&x
>
> IF SUBSTR(alfa,2,1) <> "0"
>
> leyenda = leyenda + "Y "
>
> x = SUBSTR(alfa,2,1)
>
> leyenda = leyenda + unidad&x
>
> ENDIF
>
> IF SUBSTR(alfa,1,2) <> "00"
>
> leyenda = leyenda + "MIL "
>
> ENDIF
>
> ENDIF
>
> N = 2
>
> *
>
> CASE l = 14
>
> x = SUBSTR(alfa,1,1)
>
> leyenda = leyenda + unidad&x + "MIL "
>
> N = 1
>
> *
>
> CASE l = 13
>
> x = SUBSTR(alfa,1,1)
>
> IF x = "1" .AND. SUBSTR(alfa,2,2) = "00"
>
> leyenda = leyenda + cien
>
> N = 3
>
> ELSE
>
> leyenda = leyenda + ciento&x
>
> N = 1
>
> ENDIF
>
> *
>
> CASE l = 12
>
> x = SUBSTR(alfa,1,2)
>
> IF x > "00" .AND. x < "30"
>
> leyenda = leyenda + unidad&x
>
> ELSE
>
> x = SUBSTR(alfa,1,1)
>
> leyenda = leyenda + decenta&x
>
> IF SUBSTR(alfa,2,1) <> "0"
>
> leyenda = leyenda + "Y "
>
> x = SUBSTR(alfa,2,1)
>
> leyenda = leyenda + unidad&x
>
> ENDIF
>
> ENDIF
>
> N = 3
>
> CASE l = 11
>
> x = SUBSTR(alfa,1,1)
>
> leyenda = leyenda + unidad&x
>
> N = 1
>
> *
>
> ENDCASE
>
> alfa = SUBSTR(alfa,N+1,(LEN(alfa) - N))
>
> l = LEN(alfa)
>
> IF LEN(alfa)==0
>
> EXIT
>
> ENDIF
>
> ENDDO
>
> leyenda = leyenda + " PESOS " + xcentavos + "/100 M.N.)"
>
> ENDIF
>
> RETURN (leyenda)
>
> De: usuarios_fox@yahoogrupos.com.mx <usuarios_fox%40yahoogrupos.com.mx>[mailto:
> usuarios_fox@yahoogrupos.com.mx <usuarios_fox%40yahoogrupos.com.mx>]
> En nombre de Arturo Zamudio
> Enviado el: lunes, 21 de septiembre de 2009 11:46 a.m.
> Para: zorrosmexicanos@googlegroups.com<zorrosmexicanos%40googlegroups.com>;
> usuarios_fox@yahoogrupos.com.mx <usuarios_fox%40yahoogrupos.com.mx>
> Asunto: [usuarios_fox] Consulta
>
>
> Antes que nada, que tengan un estupendo inicio de semana tod@s.
>
> Soy autodidacta en el visual fox, y checando en la pagina de portalfox.com
> ,
> encontre una función para convertir numeros a letras, pero no se como
> utilizarla. Alguien podria orientarme en ese tema??
>
> Muchas gracias por la atención prestada
>
> Arturo Zamudio
> Morelia, Mich
> Mexico
>
> [Se han eliminado los trozos de este mensaje que no contenían texto]
>
> [Se han eliminado los trozos de este mensaje que no contenían texto]
>
>
>

[Se han eliminado los trozos de este mensaje que no contenían texto]

__._,_.___
Comentarios, observaciones o si deseas darte de baja avísame a: jamorquecho@hotmail.com

Actividad reciente
Visita tu grupo
Y! Respuestas

Pregunta

Gente real te

responde

Yahoo! Messenger

Mensajero perfecto

Llama de PC a PC

sin costo alguno

Barra Yahoo!

Todo a un clic

Acceso rápido a

servicios Yahoo!

.

__,_._,___

Nenhum comentário:

Arquivo do blog