Visual Basic - Problemas con Streamreader y Streamwriter

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Problemas con Streamreader y Streamwriter

Publicado por Carlos (2 intervenciones) el 06/06/2017 13:37:34
Saludos.
Tengo un programa que esta divido en el modulo principal, clase administradora, clase de archivo y una clase de productos.
El programa debe de agregar, buscar , actualizar, eliminar productos, todo esto sincronizado con un archivo de texto.

También debe importar un archivo de texto con 5 registros, se debe de agregar excepciones para que este los lea, digamos precio o existencias.
Me marca error al contatenar el nombre de los datos en el escritor.writeline diciendo que se esperaba una expresión. Asi como en el renglon.split diciendo que un valor de 1-matriz no se puede convertir a string.
he subrayado las partes del codigo con error.


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
36
37
38
Imports System.IO
 
Public Class Archivo
 
    Public Sub guardar(ByVal i As Integer, ByRef arr As Productos())
        Dim escritor As New StreamWriter("E:\Archivo.txt")
        Dim contador As Integer
        For contador = 0 To i - 1
            escritor.WriteLine(arr(contador).id,&"*"&,arr(contador).nombre,&"*"&arr(contador).precio,&"*"&arr(contador).existencia)
 
        Next
        escritor.Flush()
        escritor.Close()
 
    End Sub
    Public Sub cargar(ByRef a As Productos(), ByRef i As Integer)
 
        Dim lector As New StreamReader("E:\Archivo.txt")
 
        While lector.Peek <> -1
 
            Dim renglon As String
            renglon = lector.ReadLine()
            Dim t As String
       t = renglon.Split("*")
 
            Dim x As New Productos
 
            x.id = t(0)
            x.nombre = t(1)
            x.precio = t(2)
            x.existencia = t(3)
            Dim adm As New administrador
            adm.agregar(a, i, x)
 
        End While
 
    End Sub


Este seria el sub para importar con parametros pero ya no se que hacer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Sub import()
        Dim archivo As New StreamReader("G:\Examen.txt")
        Dim linea As String
        linea = archivo.ReadLine()
 
        While (linea < 100)
            Console.WriteLine(linea)
            linea = Console.ReadLine()
        End While
 
        archivo.Close()
 
    End Sub
End Class

Si alguien encuentra mi error o sabe como implementar la sub de importar desde un archivo cualquier comentario sera bienvenido.
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

Problemas con Streamreader y Streamwriter

Publicado por ricardoam (13 intervenciones) el 23/06/2017 08:41:45
En tu linea 9 quita las comas y deja un espacio entre cada &

en la línea 25, esperas que t sea un arreglo y lo estas declarando como string en la linea 24, dejalo como object o no le pongas tipo.

En tu segundo bloque la variable linea es un string que no puedes compara con un numero 100 en la linea 6. Si lo que quieres es leer las primeras 100 lineas utiliza un contador

Saludos.
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