• Domingo 22 de Diciembre de 2024, 09:17

Autor Tema:  Uso Del Commondialog  (Leído 2115 veces)

Alexandros

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Uso Del Commondialog
« en: Viernes 8 de Abril de 2005, 09:39 »
0
Buenos días foreros,
Después de escornarme con una "tontería" de VB, he claudicado. Necesito un pequeño consejo de cómo cargar un fichero de datos a VB. Yo estoy haciendo un programa que lo que hace es calcular, en VB, una serie de parámetros con funciones de MatLab compiladas (.dll). Para ello necesito cargar unos datos. Primero uso el ShowOpen mítico, y ahora, ¿qué hago?¿Cómo capturo el fichero txt?
Gracias, y un saludo

novatoSS

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Uso Del Commondialog
« Respuesta #1 en: Viernes 8 de Abril de 2005, 09:48 »
0
HOLA qUE TAL?

Un fichero txt? De donde proviene ese fichero?Lo has rellenado tu desde VB? Son muchos los datos que quieres capturar?

Quizas puedas centrarme un poco mas por si lo que quieres hacer se puede hacer pasando los valores por string.

Un saludo:NovatoSS

Alexandros

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Uso Del Commondialog
« Respuesta #2 en: Viernes 8 de Abril de 2005, 10:42 »
0
Ante todo, muchas gracias por la celeridad con la que has respondido.
Volviendo a la cuestión, el fichero txt (realmente es un .iv, pero se puede convertir a txt) es un fichero con una estructura muy particular. Es un fichero que genera un Software comercial, sacando una matriz de 3 columnas y un número variable de filas.
Las primeras líneas contienen texto, y, después de un corchete ( [ ) vienen las tres columnas. Sería algo como esto:
*******************************************************************
Mi Software particular 33
ubicación del directorio
más parrafada que no viene al caso

point [ 9 9 96
          5 5 555
          2 1 2
          4 4 4]

*******************************************************************
La matriz podría ser perfectamente de tamaño 10000x3.
yo querría eliminar de ese fichero el rollo que no me sirve (toda la palabrería inicial)
y almacenar las cantidades como una matriz de n filas y 3 columnas. Además, ese fichero puede estar o en el escritorio, o en cualquier sitio, por eso
abro la venta de ShowOpen, para buscarlo.
Creo que no me he explicado con demasiado rigor en la primera ocasión. Disculpad mi lenguaje, pero es que no soy informático! (se nota, no?)
Muchas gracias y un saludo

Alexandros

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Uso Del Commondialog
« Respuesta #3 en: Viernes 8 de Abril de 2005, 12:10 »
0
Ah, se me olvidaba un detalle fundamental, para la lectura. Y es que al final de los números, hay una coma

   [12 1 23,
   5 5 55,
...........

5 6 3]

Si no, la lectura sería mucho más fácil

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Uso Del Commondialog
« Respuesta #4 en: Sábado 9 de Abril de 2005, 21:49 »
0
Hola Alexandros  B)

Lo basico para que puedas acceder a un fichero de texto es lo siguiente:

si tienes un control commondialog, recuperas el nombre del archivo en una variable string asi:

Dim archivo as string, num as Integer, linea as string

'aqui pones el codigo para abrir tu commondialog
commondialog1.show

archivo=commondialog1.Filename

if archivo<>"" then ' para asegurarnos que eligieron un archivo existente
       num=FreeFile
       Open archivo For Input as #num
       'aqui es donde depende de la estructura de tus archivos
       Line Input #num, linea  ' si vas a leer por lineas
       Close num
end if

Pruebalo y ves que te pone en cada linea, si es como lo muestras deberás buscar en cada linea que te salga los caracteres de separacion(la coma, los corchetes,  para eso puedes utilizar las instrucciones Instr para buscar una cadena en otra y Mid para extraer la subcadena que quieras, busca en la ayuda de Visual estas instruccionesy si no tienes vuelves a preguntar por aqui.

Hasta pronto :)

Alexandros

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Uso Del Commondialog
« Respuesta #5 en: Sábado 9 de Abril de 2005, 22:46 »
0
Muuchas gracias!
Esta tarde se me encendió la bombilla, y ya iba a contestaros para que no escribierais, pero te me has adelantado!
Muchas gracias y hasta pronto