Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Desabilitar Botones

Hola Felipe,

Aquí está implementando lo que MKES comenta, con el detalle de que mi lógica es inversa.  Te envió el programa ilustrado en un PDF.

¡Saludos!

Tania Lozoya | National Instruments | México

0 kudos
Mensaje 21 de 33
1.613 Vistas

Case

Tania una pregunta cuantos casos hay implementados en el ciclo case??

0 kudos
Mensaje 22 de 33
1.609 Vistas

Tania que pena molestarte, me podrias explicar un poco lo inplementado en el pdf muchas gracias

Andres

0 kudos
Mensaje 23 de 33
1.608 Vistas

Hola Felipe,

Si gustas, te puedo enviar el código, dime que versión de LabVIEW manejas.  Guiño

Tiene 4 cases en total, el principal dentro del ciclo for, y 3 anidados en 3 estados del ciclo case principal.

Estoy siguiendo la misma lógica de MKES, solo que comienzo leyendo el número menos significativo;  voy concatenando strings.  Por ejemplo:  321, obtengo cuantos dígitos hay, y ese el numero de ciclos for que voy a ejecutar.

Detecta 1, y pone en el String “uno”

Detecta 2, y concatena  “veinti” antes de “uno” y obtenemos “veintiuno”.

Detecta 3, y concatena “tres” + “cientos” antes de “veintiuno” =  “trescientos veintiuno”

Recuerda que hay excepciones como: cero, diez, once,…, cien , ciento… y la programación se vuelve un poco más compleja.

Te envió el código  cuando me digas la versión y velo en “Highlight Execution”, así es más fácil entenderlo.

¡Saludos!

Tania Lozoya | National Instruments | México

Mensaje 24 de 33
1.603 Vistas

La version del labview que uso es la 6

Andres

0 kudos
Mensaje 25 de 33
1.600 Vistas

Tania si me vas a enviar el programa? lo puedes hacer a mi correo andresfelipes@gmail.com

Andres

0 kudos
Mensaje 26 de 33
1.594 Vistas
Tania buenas noches te recuerdo la version del labview que tengo es 6 espero que me puedas colaborar con el programa y muchas gracias por la colaboracion que me has brindado
 
Andres
0 kudos
Mensaje 27 de 33
1.589 Vistas
Buenos días felipe,
 
Te comento que hice un VI de la lógica que te había comentado para convertir un número a su equivalente en letras...
 
No tuve tiempo de implementar los casos de números entre 11-15 y el de 10000... necesita algunos "arreglos" pero prácticamente todos los demás casos funcionan sin problemas... eso que falta te queda de tarea Emoticono muy feliz
 
En fín, como la versión que tengo es 7.1 no te lo puedo convertir a 6.0, pero de todos modos adjunto el VI por si alguien en el foro puede apoyarte con el cambio de versión.
 
Por lo pronto te adjunto imágenes de cómo se forma el número 9856
 
Funciona así:
  • Antes de ciclo While se convierte el número a texto (sigue siendo 9856, pero ahora son caracteres de texto NO números)
  • Adentro del While se obtiene la longitud del string que es ahora tu número y en base a eso el Case exterior determina si va a empezar con "miles", "cientos", etc. (hay 5 opciones en ese Case 0-4), adentro del Case se separa el primer caracter de ese string el cual se convierte a número nuevamente (un dígito), éste caracter es el que determina las opciones del Case interior, el cual tiene 10 opciones 0-9 para c/u de las opciones del Case exterior, las cuales, en base al case exterior te van a dar p.ejem. NUEVE MIL ó NOVECIENTOS ó NOVENTA ó NUEVE dependiendo del exterior... (a ver si no te confundo)  Emoticono sacando la lengua
  • Cada vez que se analizó un caracter se elimina éste del string que es tu número y este string se convierte en el string inicial de la sig. iteración del While, (en el ejemplo: 1a iteración=9856, 2a=856, 3a=56... etc.) mientras que el texto que determinó tu caracter analizado a su vez se convierte en un string inicial de la sig. iteración para concatenarle lo que determine el análisis del sig. caracter (1a= NUEVE MIL, 2a= NUEVE MIL + OCHOCIENTOS, etc.)
  • El While termina cuando la longitud del string número siguiente = 0.
  • En todos los Case, cuando el caracter analizado es 0 (cero), se concatena un empty string al string que vas formando.
Aquí están las imágenes del Front panel y lo que verías en cada iteración si activas Highlight Execution
 
 
1a iteración:
 
2a iteración:
3a iteración:
4a iteración:
 
Espero que te sirva, te recuerdo que no tiene implementados los casos 11-15 ni 10000 que era el límite que mencionaste...
 
Saludos !!
0 kudos
Mensaje 28 de 33
1.564 Vistas
0 kudos
Mensaje 29 de 33
1.563 Vistas

Hola Felipe,

No tengo la versión 6.0 de LabVIEW por el momento, pero puedes bajar la versión de evaluación  de 8.5 aquí:

http://digital.ni.com/demo.nsf/websearch/14f9ce475127ade786256ac60070926c?opendocument

Para que veas el VI que anexo. Tiene todas las excepciones del 0 al 10000, en caso de que encuentres algún error házmelo saber.

¡Saludos!

Tania Lozoya | National Instruments | México

0 kudos
Mensaje 30 de 33
1.559 Vistas