Para el que estuvo interesado y no pudo ayudarme aca esta la respuesta
- Código: Seleccionar todo
Public Function GetTables(ByVal nombreCampos As String(), ByVal tipoCampos() As Type, ByVal nombreArchivo As String) As DataTable
Dim kf, kc, f, c As Integer
// kf cantidad de filas
// kc cantidad de columnas
// f, c fila, columna (contadores)
kc = nombreCampos.Length
Dim dt As New DataTable
For i As Int32 = 0 To kc - 1
Dim dCol As New DataColumn(nombreCampos(i), tipoCampos(i))
dt.Columns.Add(dCol)
Next
Dim sReader As New StreamReader(nombreArch)
Dim arrFilas As String()
While sReader.Peek()
Dim dRow As DataRow = dt.NewRow()
Dim linea As String = sReader.ReadLine()
If IsNothing(linea) Then Exit While
arrFilas = Split(linea, ";", , CompareMethod.Text)
Dim ke As Int32 = arrFilas.Length
For i As Int32 = 0 To ke - 1
dRow(i) = arrFilas(i)
Next
kf += 1
dt.Rows.Add(dRow)
End While
Console.WriteLine("...Listo")
sReader.Close()
Return dt
End Function
y para llamar a la funcion se necesitan 2 arrays (arreglos), uno con los tipos de datos de las columnas y otro con sus respectivos nombres
- Código: Seleccionar todo
Public Sub CargarTablas()
Dim arrTipos(5) As Type
arrTipos(0) = Type.GetType("System.Int32", True)
arrTipos(1) = Type.GetType("System.Int32", True)
arrTipos(2) = Type.GetType("System.Int32", True)
arrTipos(3) = Type.GetType("System.DateTime", True)
arrTipos(4) = Type.GetType("System.Decimal", True)
arrTipos(5) = Type.GetType("System.String", True)
Dim arrCampos(5) As String
arrCampos(0) = "ID"
arrCampos(1) = "IDCliente"
arrCampos(2) = "NroDoc"
arrCampos(3) = "Fecha"
arrCampos(4) = "Importe"
arrCampos(5) = "Tipo Documento"
Dim nombreArch As String = "tventas.txt"
dtVentas = GetTables(arrCampos, arrTipos, nombreArch)
End Sub
Espero que les sirva (a algunos les servira, dan buena paga por estos tipos de programas)