TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: djim en 17 de Noviembre de 2013, 15:38:54
-
Buenas como les va? Estoy intentando manejar un *.txt que tiene la siguiente forma:
#id #codigo
1 6588123
2 9854358
3 9652147
4 9763564
5 2637853
6 3213212
7 5848116
8 1567912
9 5361142
**** El código que encontré es el siguiente, el problema es que funciona bien solo hasta "9", si le pido que muestre la fila "10" muestra el textbox vació. Como podria solucionar esto? Me gustaria luego hacer un *.txt con una "id" hasta 999 y luego el dato si es posible. Desde ya muchas gracias!
#id #codigo
100 6588123
200 9854358
300 9652147
400 9763564
500 2637853
600 3213212
700 5848116
800 1567912
999 5361142
Dim leer As New IO.StreamReader("D:\Prueba.Txt", True)
Dim cadena As String
Dim id As Integer = 1
Do
cadena = leer.ReadLine()
If cadena <> String.Empty Then
If IsNumeric(cadena(0)) Then
If cadena(0).ToString() = id.ToString() Then
TextBox1.Text = cadena
End If
End If
End If
Loop Until cadena Is Nothing
leer.Close()
-
Hola. Vas a tener que separar cada línea a partir del espacio y luego recién ahi comparar lo que está a la izquierda (ID) de lo que está a la derecha (código).
Algo así como (no he testeado el código)
Dim leer As New IO.StreamReader("D:\Prueba.Txt", True)
Dim cadena As String()
Dim id As Integer = 1
Do
cadena = leer.ReadLine().Split(New Char() {" "c})
If cadena.Length > 0 Then
If IsNumeric(cadena(0)) Then
If Convert.toInt32(cadena(0)) = id Then
TextBox1.Text = "ID: " & cadena(0) & " Código: " & cadena(1)
End If
End If
End If
Loop Until cadena Is Nothing
leer.Close()
-
Muchas gracias BrunoF por responder, estuve con muchos contratiempos, recien me puse a ver el codigo pero no puedo lograr hacerlo funcionar. Por ahora lo que hice fue leer la cadena lineal con todos los datos y separarlos por un ";". Habra alguna forma de leer la primera linea y luego hacer un salto de linea para leer el siguiente dato? Me refiero algo asi como &Vbnewline& pero un salto de linea. Desde ya muchas gracias