Visual Basic.NET - Boton Abrir

 
Vista:
Imágen de perfil de Maick
Val: 38
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Boton Abrir

Publicado por Maick (34 intervenciones) el 10/02/2017 14:44:20
Muy buen día a todos, estoy realizando un programa con dos botones, guardar y abrir, el botón abrir es el problema que no se como hacerlo, necesito que me abra los archivos que guarda en el txt ingresando solamente el numero de orden en el primer texto o mediante un inputbox les agradecería me ayudaran.

Adjunto el codigo que estoy utilizando


G

1
2
3
4
5
6
Dim ruta = My.Computer.FileSystem.SpecialDirectories.Desktop & "DATOS.txt""

My.Computer.FileSystem.WriteAllText(ruta, vbCrLf & "No. de orden: " & TextBox1.Text & " DPI: " & TextBox2.Text & " NOMBRE: " & TextBox3.Text & " TEL: " & TextBox4.Text & vbCrLf, True)
        MessageBox.Show("INFORMACION DEL PEDIDO GUARDADA")

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 Maick
Val: 38
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Boton Abrir

Publicado por Maick (34 intervenciones) el 10/02/2017 15:09:35
con este código lo quiero abrir

1
Dim myValue As String = InputBox("Enter Value", "Enter Value", "Please Enter Value")
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 Diego
Val: 605
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Boton Abrir

Publicado por Diego (190 intervenciones) el 10/02/2017 18:17:04
Hola Maick, te comento lo siguiente, supuestamente vas a estar guardando datos en un archivo de texto plano, es decir que se irán agregando datos cada vez que guardes, eso se va a almacenar en una unica linea, pero... tu problema al leer y querer buscar el numero de orden va a ser que... Estando todo junto en una linea, para el .net todo lo que se lea va a ser un solo dato, por ejemplo, como lo estás guardando ahora, cada linea va a tener informacion con el siguiente formato.

No. de orden: 15 DPI: 0003dfshd NOMBRE: Diego TEL: 999999
No. de orden: 16 DPI: fsdfsfssd NOMBRE: Pedro TEL: 888888
No. de orden: 17 DPI: mjmnhgmgmgh NOMBRE: Luciana TEL: 5454544999999
No. de orden: 18 DPI: dsdsdsdaa NOMBRE: Camila TEL: 333333333

Mi sugerencia es que, al guardar escribas un caracter separador y no el nombre del campo (No. de orden, DPI, NOMBRE, TEL). Por ejemplo, uno que utilizo yo siempre es el punto y coma ( ; )

Entonces al momento de guardar tu linea de codigo quedará asi:

1
2
3
Dim lineaDeTexto as string = textbox1.text & ";" & textbox2.text & ";" & textbox3.text & ";" textbox3.text & vbcrlf
 
My.Computer.FileSystem.WriteAllText(ruta, lineaDeTexto, True)

Observa que utilicé una variable para almacenar la concatenacion de tus textbox, es mas claro y mas facil de controlar.
Como siempre se van a guardar en el mismo orden, lo unico que tenes que tener en cuenta es al momento de obtener la informacion, el orden de lectura sigue el orden de escritura.

1
2
3
4
5
6
7
8
9
10
11
12
Dim fileReader As System.IO.StreamReader
fileReader = My.Computer.FileSystem.OpenTextFileReader(ruta)
Dim Linea As String
while (not fileReader.endOfSteam)
   Linea = fileReader.ReadLine()
   dim registros as string () = linea.split(";") 'Esta linea va a separar los 4 datos en un arreglo de cadenas
   if registro(0) = textbox1.text then 'Si coincide el numero de orden almacenada, con la escrita en textbox1, trae los demas datos
      textbox2.text = registro(1)
      textbox3.text = registro(2)
      textbox4.text = registro(3)
   endif
end while

Bueno, ahi está el codigo que haria lo que vos pedis. Si hay algun error, comentalo. Estoy fuera del IDE de.NET
Saludos y +Bytes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Maick
Val: 38
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Boton Abrir

Publicado por Maick (34 intervenciones) el 10/02/2017 20:33:45
porque me marca este Error
endOfSteam no es un miembro de "system.IO.StreamReader

1
2
3
4
5
6
7
8
9
10
11
12
13
Dim fileReader As System.IO.StreamReader
        fileReader =
            My.Computer.FileSystem.OpenTextFileReader(ruta)
        Dim Linea As String
        While (Not fileReader.endOfSteam)
            Linea = fileReader.ReadLine()
            Dim registros As String() = Linea.Split(";")
            If registros(0) = TextBox1.Text Then
                TextBox2.Text = registros(1)
                TextBox3.Text = registros(2)
                TextBox4.Text = registros(3)
            End If
        End While
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 Maick
Val: 38
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Boton Abrir

Publicado por Maick (34 intervenciones) el 10/02/2017 21:22:13
encontre el error

endOfSteam


EndOfStream
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Boton Abrir

Publicado por Emanuel (25 intervenciones) el 12/02/2017 02:23:30
Probá escribir este código por encima del Public Class:

1
Imports System.IO
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