Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/06/2014, 20:44
javidotnet
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años
Puntos: 3
Sonrisa Respuesta: como guardar datos en una matriz desde un archivo csv

Hola hades0024, el código se ve correctamente y debería funcionar, salvo unos pequeños detalles sin importancia casi: la línea del Split = oLine.Split(";") que debe ir dentro del If, y también habría que agregarle un if para que el último MsgBox no se muestre en caso de haber encontrado el dato:
Código vb.net:
Ver original
  1. Public objR As New StreamReader("\archivo.csv")
  2. Public oLine As String = ""
  3. Public oTexto As New ArrayList()
  4. Public split() As String
  5. Public separ As String = ";"
  6.  
  7. Private Encontro as Boolean
  8.  
  9. Do
  10.     oLine = objR.ReadLine
  11.  
  12.     If Not oLine Is Nothing Then
  13.         split = oLine.Split(";")
  14.         For i = 0 To split.Length - 1
  15.             If TextBox1.Text = split(i) Then
  16.                 Encontro = True
  17.                 'MsgBox("Se encuentra el codigo" & vbCrLf & split(i) & vbCrLf & i)
  18.                 TextBox2.Text = (oLine)
  19.             End If
  20.             'MsgBox(split(i) & vbCrLf & i)
  21.         Next
  22.     End If
  23.  
  24.     oTexto.Add(oLine)
  25. Loop Until oLine Is Nothing
  26. If Not Encontro Then
  27.     MsgBox("No se encontro el cod")
  28. End If
Otra cosa que hay que ver es si se debe seguir buscando luego de haber encontrado una ocurrencia, o se puede parar la búsqueda con Exit Do.
Ahora bien, existe otra manera más resumida y más veloz de lograr lo mismo sin usar el Split, pero habría que ver si se puede aplicar a tu caso, ya que no es una fórmula general y depende de los datos:
Código vb.net:
Ver original
  1. Public objR As New StreamReader("\archivo.csv")
  2. Public oLine As String = ""
  3. Public oTexto As New ArrayList()
  4. Public split() As String
  5. Public separ As String = ";"
  6.  
  7. Private Encontro as Boolean
  8.  
  9. Do
  10.     oLine = objR.ReadLine
  11.  
  12.     If Not oLine Is Nothing Then
  13.         If oLine.IndexOf(TextBox1.Text) >= 0 Then
  14.             Encontro = True
  15.             TextBox2.Text = (oLine)
  16.         End If
  17.     End If
  18.  
  19.     oTexto.Add(oLine)
  20. Loop Until oLine Is Nothing
  21. If Not Encontro Then
  22.     MsgBox("No se encontro el cod")
  23. End If
¡Saludos cordiales desde Argentina!