Visual Basic - Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Adrián (8 intervenciones) el 15/05/2017 15:20:08
Hola a todos, soy nuevo en visual basic y se me está complicando esta tarea...

Debo crear una interfaz con un botón que me permita explorar los directorios de mi ordenador para seleccionar un archivo .txt. de dos columnas con numeros. Una vez seleccionado debo leer el archivo y almacenar la primera columna en un vector X y la segunda en un vector Y.

Por ejemplo, si el fichero fuese:
1 2
3 4
5 6


Entonces se me debería guardar en dos vectores tal que: X=[1 3 5] Y=[2 4 6]


Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 4.017
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Andres Leonardo (1672 intervenciones) el 15/05/2017 18:22:08
seria algo asi ...

con un command button llamas a un comanda dialog...

Con eso la parte de explorar las carpetas de tu maquina

Luego creas un procedimoiento o sub que abra y lea el archivo linea por linea ...

deberas crear los dos vectores y escoger lo que tienes en los vectores

Que tienes de codigo que mas necesitas ... avisame como vas para seguirte ayudando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Adrián (8 intervenciones) el 15/05/2017 18:27:45
Lo de abrir el archivo con el dialog ya lo tengo. Hasta ahora tengo este código con el que puedo seleccionar el archivo y después muestra su contenido en un textbox.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Command1_Click()
Dim contentfile As String
Dim ruta_archivo As String
ruta_archivo = Me.CommonDialog1.FileName
On Error GoTo fin
Form1.CommonDialog1.ShowOpen
 
 
Open Form1.CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Input #1, contentfile
Form1.Text1 = Form1.Text1 + contentfile + vbCrLf
Loop
Close #1
 
fin:
End Sub

Ahora lo que no sé es como referirme a ese archivo que acabo de seleccionar para recorrerlo y guardar cada columna en un vector.
Un saludo y gracias por la ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 4.017
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Andres Leonardo (1672 intervenciones) el 16/05/2017 01:46:25
Mira ese codigo lo adapte al tuyo

Ahi lee linea a linea .. deberias hacer un substring x el separador que seria el espacio...

Por ahora correlo te debe mostrar linea a linea .. el resto seria meterlo a los vectores.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command1_Click()
Dim contentfile As String
Dim ruta_archivo As String
ruta_archivo = Me.CommonDialog1.FileName
On Error GoTo fin
Form1.CommonDialog1.ShowOpen
 
 
Open Form1.CommonDialog1.FileName For Input As #1
Do Until EOF(1)
 Line Input #1, contentfile         'Lee la cadena
  'Input #1, contentfile
  msgbox contentfile
'Form1.Text1 = Form1.Text1 + contentfile + vbCrLf
Loop
Close #1
 
 
fin:
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Adrián (8 intervenciones) el 21/05/2017 23:18:17
Eso es lo que no entiendo...

Mi problema está en como meter en un vector X todos los elementos de la primera columna y en un vector Y todos los de la segunda columna. Teniendo en cuenta que cada par de elementos están separados por un espacio.
¿Podrías pasarme él código para hacer eso? No encuentro forma de hacerlo...
GRACIAS!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 4.017
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer coordenadas de puntos de archivo .txt y almacenarlas en dos vectorees X e Y

Publicado por Andres Leonardo (1672 intervenciones) el 22/05/2017 18:40:58
Espero te ayude ahi estan los arreglod

Ahor que vas a hacer con los arreglos ni idea...

**Si quieres puedes poner dos listas para que vayas viendo los valores.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub Command1_Click()
Dim contentfile As String
Dim ruta_archivo As String
Dim Arreglo1() As String ' Arreglo 1
Dim Arreglo2() As String ' Arreglo 2
Dim C As Long
ruta_archivo = Me.CommonDialog1.FileName
On Error GoTo fin
'Form1.CommonDialog1.ShowOpen
'No se usar vectores pero seria algo ais
Dim L As Integer
Open Form1.CommonDialog1.FileName For Input As #1
C = 0
    Do Until EOF(1)  ' Cuento las lineas
     Line Input #1, contentfile         'Lee la cadena
        C = C + 1
    Loop
    Close #1
ReDim Arreglo1(1 To C) As String
ReDim Arreglo2(1 To C) As String
C = 1
Open ruta_archivo For Input As #1
    Do Until EOF(1)  ' Cuento las lineas
     Line Input #1, contentfile         'Lee la cadena
     x = InStr(1, contentfile, " ")
     Arreglo1(C) = Mid(contentfile, 1, x - 1)
     Arreglo2(C) = Mid(contentfile, x + 1, Len(contentfile) - x + 1)
 
     C = C + 1
    Loop
    Close #1
 
 
fin:
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar