|
| Autor |
Mensaje |
Papito
Registrado: 01 Ago 2011 Mensajes: 6
|
Publicado: Lun 01 Ago, 2011 15:07 pm
Título del mensaje: Abrir archivo txt desde VB(2010) y luego recorrerlo |
|
|
Hola migos, hoy vengo con una duda tremenda y quisiera que me ayudaran :
Resulta que necestio abrir un archivo txt desde visual y luego recorrerlo linea por linea a efecto de extraer solo la informacion que necesito.
la forma de mi txt es:
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
por ejemplo yo necesito extraer solo los datos de las columnas 2 y 3, por favor alguien que me ayude, pero super claro porfa porque soy un novato en VB ah......por cierto esto es en VB 2010
de antes les agradezco mucho. |
|
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
|
| Volver arriba |
|
|
Papito
Registrado: 01 Ago 2011 Mensajes: 6
|
Publicado: Mar 02 Ago, 2011 01:44 am
Título del mensaje: Re: Abrir archivo txt desde VB(2010) y luego recorrerlo |
|
|
Gracias hermano y disculpa por no haberme presentado, talves y es la desesperacion por no lograr hacer el ciclo que quiero,..
pues el codigo que posteaste esta bien
talves y fue que no me dia a enterder pero lo que quiero es extraer todas las columnas 2 y tres y en el ejemplo que tu hiciste solo me recorre las la primera fila.....
si pudieras considerar eso, porfavor! |
|
|
|
| Volver arriba |
|
|
Tesis Administrador

Registrado: 04 Mar 2007 Mensajes: 2750 Ubicación: Valencia - España
|
|
| Volver arriba |
|
|
Papito
Registrado: 01 Ago 2011 Mensajes: 6
|
Publicado: Mar 02 Ago, 2011 19:31 pm
Título del mensaje: Re: Abrir archivo txt desde VB(2010) y luego recorrerlo |
|
|
Hermano tengo esto mira , pero no me funciona....
Loe he intentado creeme pero me da error..
OpenFileDialog1.ShowDialog()
Dim Archivo, cadena As String
Archivo = OpenFileDialog1.FileName
Dim enlace As System.IO.StreamReader
Dim Contenido As String
enlace = New StreamReader("" & Archivo & "")
While enlace.Read
'Contenido = enlace.ReadToEnd()
cadena = Mid(Str(enlace), 14, 24)
MsgBox(cadena)
'TextBox1.Text = Contenido
enlace.Close()
End While |
|
|
|
| Volver arriba |
|
|
B-Yo Moderador Global

Registrado: 21 May 2010 Mensajes: 247
|
Publicado: Jue 04 Ago, 2011 17:48 pm
Título del mensaje: Re: Abrir archivo txt desde VB(2010) y luego recorrerlo |
|
|
Con vuestro permiso... voy a meter baza....
Papito, se ve a la legua que no tienes idea de programación... No te lo tomes a mal, pero sois muchísimos los que vais así. Las casas no se empiezan por el tejado, realiza un curso que comience desde cero y vaya subiendo de nivel poco a poco.
Luego, si estáis programando en .Net, olvidaos de VB6 y si aún programáis en VB6, pasaos a .Net, que ya es horica..
Por ultimo:
| papito escribió: | | por cierto esto es en VB 2010 |
Esto no es un error tuyo, pero quiero hacer una aclaración ya que veo que a mucha gente no le queda muy claro y relacionan mal los conceptos. Yo realmente, prohibiria eso de decir VB XXXX, C# XXXX, ect.
En realidad no existe VB 2010, Queee! Comor????
Pues eso, yo puedo estar usando Visual Studio 2010 y escoger VB como el lenguaje en el que quiero codificar... Pero aún más importante que eso es, para que versión del .Net Framework voy a desarrollar mi código. Así que en resumen cuando se tienen dudas y se pregunta es más correcto (y más fácil que obtengamos una respuesta adecuada) especificandolo por ejemplo así:
| Ejemplo escribió: | | Estoy desarrollando un aplicación para .Net Framework 4.0 con VB y VS 2010 y tengo el siguiente problema.... |
Esto es porque, que use Visual Studio 2010 no implica que no este desarrollando una aplicación para que ruede bajo el .Net Framework 2.0, con lo cual si te muestro un código con alguna nueva caracteristica que ha sido implementada en una versión posterior...
Así que siguiendo la filosofia de .Net lo que necesitas es investigar sobre la clase String y sus métodos:
http://msdn.microsoft.com/es-es/library/system.string.aspx
P.D. Ahí si le das a otras versiones no vas a ver nada de C#XXXX o VB XXXX, lo asigna según versión de Framework....
Y bueno viendo el formateo de tus datos:
| papito escribió: |
la forma de mi txt es:
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
p|999999|xxxxxxx|99999|xxxxxx|9-98|xxxxx|
|
Ya que es tienes un carácter separador | , yo usaría el método Split
http://msdn.microsoft.com/es-es/library/b873y76a.aspx
| Código: |
Dim DGBox As New OpenFileDialog
DGBox.Filter = "Archivos de texto plano (.txt)|*.txt"
DGBox.Multiselect = False
DGBox.ShowDialog()
If DGBox.FileName.Length > 0 Then
Using Archivo As New System.IO.StreamReader(DGBox.FileName)
Dim Columna() As String
Dim Linea As Integer = 0
While Not Archivo.EndOfStream
Columna = Archivo.ReadLine.Split("|")
Linea += 1
TextBox1.Text &= String.Format("Linea {2}{0}{1}{0}Valor Columna 2:{3}{0}Valor Columna 3:{4}{0}{1}{0}", _
Chr(13) + Chr(10), "----------", Linea, Columna(1), Columna(2))
End While
End Using
End If
|
| Resultado escribió: |
Linea 1
----------
Valor Columna 2:999999
Valor Columna 3:xxxxxxx
----------
Linea 2
----------
Valor Columna 2:999999
Valor Columna 3:xxxxxxx
----------
Linea 3
----------
Valor Columna 2:999999
Valor Columna 3:xxxxxxx
----------
Linea 4
----------
Valor Columna 2:999999
Valor Columna 3:xxxxxxx
----------
Linea 5
----------
Valor Columna 2:999999
Valor Columna 3:xxxxxxx
----------
|
| papito escribió: | | cadena = Mid(Str(enlace), 14, 24) |
En caso de que lo quieras hacer por posición en .Net Ya NO deben usarse ni el Left, ni el Rigth, ni Mid... Basta con hacer un buen uso del método Substring de la clase String:
http://msdn.microsoft.com/es-es/library/aka44szs.aspx
Un Saludo,  |
It´s time to fly http://www.youtube.com/watch?v=Vr9BTyug4FA
|
|
| Volver arriba |
|
|