From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

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

Guardar tabla en archivo .txt

¡Resuelto!
Ir a solución

Hola a todos.

Estoy intentando guardar los datos numéricos de una tabla a un archivo .txt

Necesito que el archivo se guarden los datos por columnas como si estuviera en la tabla para su posterior lectura.

El caso es que he conseguido guardar los datos por columnas pero a la hora del guardado no me guarda el archivo con la extensión .txt y para abrirlo le tengo que indicar que es un archivo de texto y demás.

 

Mi pregunta es: ¿Hay alguna forma de guardar mi archivo con la extensión .txt y que a la vez esté los datos guardados por columnas en el archivo?

 

Adjunto el .vi.

1º rellenar las columnas con números (dos filas aproximadamente) y luego se pulsa el botón de guardar.

Un saludo y gracias.

0 kudos
Mensaje 1 de 10
6.075 Vistas
Solución
Aceptado por el autor del tema nanoalberto

Puedes usar el File Dialog que encuentras en la paleta File I/O >> Advanced File Dialog.

Configurado como en la figura si no indicas la estensión la añade automaticamente.

Surge un problema si el usuario selecciona "All Files" en el control Save As: en este caso, si el nombre no tiene extensión no viene añadida.

 

File dialog.png

 

Si usas este VI debes gestionar el caso del usuario que pulsa "Abandonar".



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Mensaje 2 de 10
6.069 Vistas

Gracias Roberto por tu solución.

Sí que me a servido aunque me a costado encontrar esta opción en el LB 7.1 que es la versión que estoy utilizando.

Una última pregunta.¿Hay alguna forma de poner los títulos de cada columna tambien en el .txt?

Es decir copiar la tabla literalmente.

 

Un saludo.

0 kudos
Mensaje 3 de 10
6.062 Vistas

Perdona por no contestar pronto.

Para almacenar los títulos de las columnas debes hacerlo separadamente mediante un nudo de propriedades de la tabla y la propriedad Column Header Strings [ ], de esta manera:

 

File dialog.png



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Mensaje 4 de 10
6.032 Vistas

Hola Roberto.

No tienes porque disculparte de la demora de la contestación.

He probado tu solución en el LB 2010 y sí que me funciona, pero luego la pruebo en el LB 7.1 y no me deja conectar el nodo Column Header [ ] al Write To Spreadsheet File por ser de diferentes tipos.

¿Cómo lo podría solucionar?

 

Un saludo

0 kudos
Mensaje 5 de 10
6.026 Vistas

No tengo el LV 7 instalado y no me acuerdo cómo eran las propiedades en aquella versión. Solamente puedo aconsejarte que mires en la ayuda en linea para ver qué informaciones proporciona aquella propiedad. ¿Realmente no hay la propiedad Column Header Strings [ ] ?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 6 de 10
6.022 Vistas

Hola Roberto te adjunto imagenes para que veas que no tengo la propiedad Column Header Strings [ ].
Pero luego en el menú de ayuda me encuentro dos entradas con la palabra Column Header Strings [ ].
No sé si será alguno de estos dos.

Un saludo.

Descargar todos
0 kudos
Mensaje 7 de 10
6.013 Vistas

Los column header strings se refieren a los controles multicolumn listbox y tree, por lo que no se aplican a la tabla. Sin embargo, por lo que veo en el dibujo 1 el Column Headers restituye un arreglo de textos, por lo que no entiendo el error que encuentras. Qué dice exactamente el mensaje de error?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 8 de 10
6.007 Vistas

Hola Roberto.

Te adjunto el error.

 

Gracias.

0 kudos
Mensaje 9 de 10
5.999 Vistas

Como ya te dije no me acuerdo de los vi de tu versión de LV y no la tengo instalada. Por lo que veo, el write to spreadsheet está esperando un arreglo de números mientras que le vas pasando uno de textos.

Podrías ver si el write to spreadsheet es un vi polimorfico, esto es puede aceptar tipos de datos diferentes: mira en la ayuda en línea a ver si hay manera de pasar textos al vi.

 

Si no hay, deberás escribir tu mismo los encabiezamientos en el archivo sin pasar por el write to spreadsheet (por ejemplo, en la paleta de file I/O: Open file, Write text file, Close file).

 

Además, la segunda vez que llamas al write to spreadsheet debes indicar que se van añadiendo datos (append) si no substituyes los primeros con los últimos que vas escribiendo en el archivo. Esto también lo encientras en la ayuda en línea.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Mensaje 10 de 10
5.996 Vistas