Ayuda con archivos

esmm
27 de Octubre del 2004
El asuto es que yo tengo varios archivos de texto que contienen la siguiente informacion:

~DEVICE TYPE
NTEG1781
~STAGE
A_LEVEL
~SPECIFICATION
XSEG1781I2_020
~SERIAL NUMBER
NNTM60GBM7DN
$TIME_DATE$6
20030808173445
$SOFTWARE_NAME$5
rmb_4_1
$TEST_STATION$5
TW58
$BOOT_UP$11
TRUE
$CURRENT_AT_BOOT_PROMPT$2
.04
$BOOT_VERSION$5
U0044V18
$PVI_VERSION$5
UC066V81_5
$PVI_PASS$11
TRUE
$BOARD_VERSION$4
RCB-F2 (Type 1) Upbanded
$ASIC_SELF_TESTS$11
TRUE
$TEST_TIME_TAKEN$2
295.7188
$MODULE_PASS$5
PASS

Estos archivos son generados por un software de prueba. Y se genera un archivo cada que se ejecuta la prueba, los resultados de la prueba son arrojados a estos archivos.

El problema que tengo es que necesito realizar un programa en visual basic para poder abrir los archivo que generaron en un rango de fechas que yo ingrese, y asi poder tomar ciertos datos de cada archivo que se encontro dentro del rango y poder realizar una grafica de los resultados tomados de los archivos.

¿Como puedo yo hacer ese tipo de lectura de datos de cada archivo?

Gracias por su pronta ayuda.


Christian Petersen
27 de Octubre del 2004
Según lo que entendí, si vas a leer múltiples archivos, debería haber algún tipo de criterio automático para el nombre de archivos.

Según lo que muestras en la pregunta, cada tipo de dato tiene su indentificador propio, que comienza con $ o con
~ , así que los puedes indentificar dentro de una cadena de este tipo:

Dim objeto, texto, txtfile
Set objeto = CreateObject("Scripting.FileSystemObject")
Set txtfile = objeto.OpenTextFile("nombre_arch", 1, False)
texto = txtfile.readall
txtfile.Close

Ahora, la variable texto contiene todo el texto del archivo, en una sola línea, pero las marcas de Enter quedan marcadas así:

Línea 0||Línea 1||Línea 2||Línea 3||Línea 4||Línea 5||Línea 6||Línea 7||Línea 8||Línea 9||Línea 10||Línea 11||Línea 12||Línea 13||Línea 14||Línea 15||Línea 16||Línea 17||Línea 18||Línea 19||Línea 20||

|| significa enter, y tu sabes que línea por medio tienes etiqueta y en la siguiente su respectivo valor. así que te quedan dos opciones:

1) Se detecta la cantidad de <Enter> que hay hasta el dato que quieres (si es siempre la misma cantidad y en la misma distribución, es una opción válida)

2) Detectas la etiqueta buscada, y lo que viene después de <Enter> es el valor que andas buscando.


Espero haber sido de ayuda. Cualquier cosa, me puedes escribir un email.


Atentamente,

Christian Petersen
[email protected]