Visual Basic - leer un txt - urgente!!!

Life is soft - evento anual de software empresarial
 
Vista:

leer un txt - urgente!!!

Publicado por andreafuhr (95 intervenciones) el 11/01/2006 20:41:43
Hola estoy desesperada..necesito leer un txt con varios renglones separados cada uno de ellos por " | " y necesito llevar cada palabra entre |palabra| a una grilla. Es decir si hay 3 renglones mi grilla tendra 3 renglones tambien y si hay 5 palabras por renglon mi grilla tendra 5 columnas.
El punto es que quiero poder abrir un txt, y poder saber la cantidad de renlones que tiene para luego recorrerlo e ir volcando los datos en la grilla.
Otra cosa que he visto en el foro es que cecilia colalongo hizo esto mismo usando la funcion split que pasa el archivo a una matriz..pero me resulto un tanto complicado.
Desde ya muchas gracias...
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

RE:leer un txt - urgente!!!

Publicado por Cecilia Colalongo (3116 intervenciones) el 12/01/2006 11:01:21
Si te refieres a ésto no trabaja con ninguna matriz, solo lee fila por fila y luego columna por columna y las va cargando. ¿Qué parte te resulta complicada?

Dim Lineas As Variant, i As Integer

Lineas = Split(FileToString(App.Path & "\MiArchivo.txt"), vbCrLf)

MSFlexGrid1.Clear
MSFlexGrid1.Rows = UBound(Lineas) + 1

Columnas = Split(Lineas(LBound(Lineas)), "|")
MSFlexGrid1.Cols = UBound(Columnas) + 2

For i = LBound(Lineas) To UBound(Lineas)

Columnas = Split(Lineas(i), "|")

For j = LBound(Columnas) To UBound(Columnas)
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Col = j + 1
MSFlexGrid1.Text = Columnas(j)
Next j

Next i

Public Function FileToString(FileName As String) As String
Dim hlngFile As Long, strFile As String
hlngFile = FreeFile
Open FileName For Binary Access Read As hlngFile
FileToString = vbNullString
strFile = String(FileLen(FileName), " ")
Get hlngFile, , strFile
Close hlngFile
FileToString = strFile
End Function
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

RE:leer un txt - urgente!!!

Publicado por andreafuhr (95 intervenciones) el 12/01/2006 12:10:07
Cecilia, lo que me cuesta entender es la funcion FileToString:
open fileName: lo entiendo
freefile: entiendo el objetivo de esta funcion
FileToString = vbNullString (NO ENTIENDO)
strFile = String(FileLen(FileName), " ") : Entiendo lo que hace esta funcion: te devuelve tantos espacios como longitud de bytes tenga el archivo, pero no entiendo el objetivo de esto. Se que si lo omite el programa no fcna pero no tengo claro lo que hace.
Disculpa mi ignorancia...
gracias
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

RE:leer un txt - urgente!!!

Publicado por Cecilia Colalongo (3116 intervenciones) el 12/01/2006 12:50:48
FileToString es una función que lo único que hace es pasar el contenido de un archivo a una variable de tipo String. Conviene que la coloques en un módulo.

FileToString = vbNullString (NO ENTIENDO) inicializa un string nulo (o "")

strFile = String(FileLen(FileName), " ") inicializa un string con tantos espacios como longitud tenga el archivo.
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