Leer Archivo de texto en Visual Basic .Net

Tambien pueden postear temas relacionados con el antiguo Visual Basic

Leer Archivo de texto en Visual Basic .Net

Notapor texanito » Mié Sep 12, 2007 2:47 pm

Esta es la primera ves que me meto a programar y mi problema es el sigueinte:

Estoy leyendo un archivo de texto (el cual si puedo hacer), pero no he podido delimitarlo (las columnas estan delimitadas por una cierta cantidad de caracteres) para que me salgan ya con su espaciado.
Esto es: Fecha (8),Hora (6), Nombre (40), por decir, pero no he podido hacer esto.

Ayedenme por favor !!!

Esto por que quiero mandarlo despues a una BD y de ahi manejarlo.

Gracias.
texanito
Novato
Novato
 
Mensajes: 3
Registrado: Mié Sep 12, 2007 2:36 pm


Re: Leer Archivo de texto en Visual Basic .Net

Notapor raul338 » Jue Sep 13, 2007 11:49 am

Usa el metodo String.Mid (o tal vez Mid solo) que recibe 3 parametros:
el 1º es el string, el 2º es la posicion de salida y el 3º es cuantos caracteres quieres devolver. La funcion devuelve el string que encuentre.

ej:

Código: Seleccionar todo
  1. Dim texto As String = "02/04/92 15:56Raul"

  2. Dim Fecha As String

  3. Dim Hora As String

  4. Dim Nombre As String

  5.  

  6. Fecha = Mid(texto, 1, 8) ' Puede que sea Mid(texto, 0, 8)

  7. Hora = Mid(texto, 9, 6)

  8. Nombre = Mid(texto, 15, 40)

  9.  

  10. MsgBox ("Nombre: " & Nombre & " - Fecha: " & Fecha & " - Hora: " & Hora)

  11.  



Resultados:
Código: Seleccionar todo
  1. Nombre: Raul - Fecha: 02/04/92 - Hora:  15:56




Espero que te sirva!!
[img]http://i54.tinypic.com/102peue.jpg[/img]
Avatar de Usuario
raul338
Colaborador
Colaborador
 
Mensajes: 132
Registrado: Mar May 31, 2005 1:44 pm
Ubicación: Buenos Aires


Re: Leer Archivo de texto en Visual Basic .Net

Notapor texanito » Jue Sep 13, 2007 5:09 pm

Ok, pero ese seria si yo pongo la cadena.

Como lo haria si estoy leyendo el archivo con x´s renglones y que me haga esa separacion????

Gracias Bestprogramado



Bestprogramado escribió:Usa el metodo String.Mid (o tal vez Mid solo) que recibe 3 parametros:
el 1º es el string, el 2º es la posicion de salida y el 3º es cuantos caracteres quieres devolver. La funcion devuelve el string que encuentre.

ej:

Código: Seleccionar todo
  1. Dim texto As String = "02/04/92 15:56Raul"

  2. Dim Fecha As String

  3. Dim Hora As String

  4. Dim Nombre As String

  5.  

  6. Fecha = Mid(texto, 1, 8) ' Puede que sea Mid(texto, 0, 8)

  7. Hora = Mid(texto, 9, 6)

  8. Nombre = Mid(texto, 15, 40)

  9.  

  10. MsgBox ("Nombre: " & Nombre & " - Fecha: " & Fecha & " - Hora: " & Hora)

  11.  



Resultados:
Código: Seleccionar todo
  1. Nombre: Raul - Fecha: 02/04/92 - Hora:  15:56




Espero que te sirva!!
texanito
Novato
Novato
 
Mensajes: 3
Registrado: Mié Sep 12, 2007 2:36 pm

Notapor raul338 » Vie Sep 14, 2007 11:51 am

Simple, usa un bucle for. Y en caso de los separadores ya no uses Mid, usa Split

ej

Código: Seleccionar todo
  1. Array = Split(linea, ";")



la funcion Split te devuelve un array. Si usaras esto como linea:
Código: Seleccionar todo
  1. 02/04/92;15:56;Raul



Te devolveria
En la posicion 0: 02/04/92
En la posicion 1: 15:56
En la posicion 2: Raul

Espero que te sirva!!!
[img]http://i54.tinypic.com/102peue.jpg[/img]
Avatar de Usuario
raul338
Colaborador
Colaborador
 
Mensajes: 132
Registrado: Mar May 31, 2005 1:44 pm
Ubicación: Buenos Aires

Notapor texanito » Vie Sep 14, 2007 12:44 pm

Pero ese comando me servira para cuando lea un archivo de texto???

LA idea es que lea un archivo de texto, que pueda separar las colunas de cada una y que despues la pueda pasar a una BD.

De antemano gracias.
texanito
Novato
Novato
 
Mensajes: 3
Registrado: Mié Sep 12, 2007 2:36 pm


    

Volver a Visual Basic .NET

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados