Hola estoy diseñando un formulario para facturación y quiero utilizar un programa que me convierte números a letras. Quisiera saber si alguien me puede ayudar a decirme como utilizo este programa en un formulario. Por la atención prestada muchas gracias.
Yo respondí la misma pregunta hace pocos días. De igual manera te paso el programita: Este código lo podes poner en un form pero te recomiendo ponerlo en un prg así lo usas como una función. Podes hacer un prg llamado NumLetras y lo llamas en tu formulario asi: thisform.miTextBox.value=numLetras(125.33) por ejemplo Cuando generes tu exe, acordate de incluir en tu proyecto el programa porque muchas veces no lo incluye en forma automática. Si de igual manera lo queres poner en un form, solo basta con hacer un metodo y listo, lo podes llamar asi: thisform.textBox.value=thisform.miMetodo(123.33) ********************************* parameter xDiceNum diceCen='' diceDec='' diceUni='' reto='' NumTex=str(xDiceNum,12,2) millones=val(substr(numTex,1,3)) miles=val(substr(numTex,4,3)) ciento=val(substr(numTex,7,3)) deci=(xDiceNum-int(xDiceNum))*100 if deci=0 deci='.-' else deci=' con '+alltrim(str(deci,4,0))+'/100' endif if millones#0 tex=traeTex(millones) if tex='uno' tex='un millon ' else tex=tex+' millones ' endif reto=tex endif if miles#0 tex=traeTex(miles) if right(tex,3)='uno' if len(tex)#3 tex=left(tex,len(tex)-3)+'ún' else tex='un' endif endif reto=reto+tex+' mil ' endif if ciento#0 reto=reto+traeTex(ciento) endif if empty(reto) reto='cero' endif reto=reto+deci return upper(left(reto,1))+right(reto,len(reto)-1) procedure traeTex parameter queNum diceCen='' diceDec='' diceUni='' centena=int(queNum/100) decena=int((queNum-(centena*100))/10) unidad=int(val(right(str(queNum,9,0),1))) do case case centena=0 diceCen='' case centena=1 and decena=0 and unidad=0 diceCen='cien ' case centena=1 and (decena#0 or unidad#0) diceCen='ciento ' case centena=2 diceCen='doscientos ' case centena=3 diceCen='trescientos ' case centena=4 diceCen='cuatrocientos ' case centena=5 diceCen='quinientos ' case centena=6 diceCen='seiscientos ' case centena=7 diceCen='setecientos ' case centena=8 diceCen='ochocientos ' case centena=9 diceCen='novecientos ' endcase do case case decena=0 diceDec='' case decena=1 and unidad=0 diceDec='diez ' case decena=2 and unidad=0 diceDec='veinte ' case decena=2 and unidad#0 diceDec='veinti' case decena=3 diceDec='treinta y ' case decena=4 diceDec='cuarenta y ' case decena=5 diceDec='cincuenta y ' case decena=6 diceDec='sesenta y ' case decena=7 diceDec='setenta y ' case decena=8 diceDec='ochenta y ' case decena=9 diceDec='noventa y ' endcase do case case unidad=0 and decena#1 diceUni='' case unidad=1 and decena#1 diceUni='uno ' case unidad=2 and decena#1 diceUni='dos ' case unidad=3 and decena#1 diceUni='tres ' case unidad=4 and decena#1 diceUni='cuatro ' case unidad=5 and decena#1 diceUni='cinco ' case unidad=6 and decena#1 diceUni='seis ' case unidad=7 and decena#1 diceUni='siete ' case unidad=8 and decena#1 diceUni='ocho ' case unidad=9 and decena#1 diceUni='nueve ' case unidad=1 and decena=1 diceUni='once ' case unidad=2 and decena=1 diceUni='doce ' case unidad=3 and decena=1 diceUni='trece ' case unidad=4 and decena=1 diceUni='catorce ' case unidad=5 and decena=1 diceUni='quince ' case unidad=6 and decena=1 diceUni='dieciseis ' case unidad=7 and decena=1 diceUni='diecisiete ' case unidad=8 and decena=1 diceUni='dieciocho ' case unidad=9 and decena=1 diceUni='diecinueve ' endcase queVuelve=diceCen+diceDec+diceUni if right(queVuelve,2)='y ' queVuelve=left(queVuelve,len(queVuelve)-3) endif return alltrim(queVuelve) ***************************************** Siempre el parámetro que le envías debe ser numérico. Espero haberte podido ayudar Si es así, por favor cerrá la pregunta.
¿Podrías cerrar la pregunta?
Que tal amigo de verdad me fue de mucha ayuda el programa que me mandaste ya que estaba haciendo un formulario que ahora utilizo en mi trabajo. Te agradezco enormemente la ayuda que me diste ya que no contaba con los conocimientos para hacer dicho programa y ponerlo en un formulario. De antemano te doy las gracias y te mando muchos saludos.