General information
Title:
Help optimizing code
Hi all,
As you will notice in the code below I am using the VFP toolkit for .net. Perhaps there are some thing's I could use native vb code that would perform better?
Anyway's what I have is a fixed length ascii file and and ascii "map" file.
I load the Map file into an array.
lalaselected(i, 0) = lcfieldname
lalaselected(i, 1) = lclength
lalaselected(i, 2) = lcstartpos
lalaselected(i, 3) = lcendpos
lalaselected(i, 4) = lcdatatype
Then I pass the array to the below function's to create a dataset.The code works perfectly fine but if I could make it any faster that would be great!! Currently my test data file has 50 fields and 2200 records and it takes a bit to run.
Anyway's thanks in advance :-)
Public Function fillds(ByRef laselected As Array)
Dim DS As DataSet = CreateDataSet(laselected)
Dim z As Integer
Dim i As Integer
Dim ladat As Array
ALines(ladat, FileToStr("d:\aaaaregq\catitcompletes(UNCLEANED).dat")) 'This will be a param **--FIX--**
For z = 0 To ALen(ladat, 1) - 1
Dim dataRow As DataRow = DS.Tables("DAT").NewRow
For i = 0 To ALen(laselected, 1) - 1
dataRow(laselected(i, 0)) = SubStr(ladat(z), laselected(i, 2), laselected(i, 1))
Next
DS.Tables("DAT").Rows.Add(dataRow) 'Add the Row
Next
Return DS
End Function
'-----------------------------------------------------
Private Function CreateDataSet(ByRef laselected) As DataSet
Dim ds As DataSet = New DataSet("DSDat")
ds.Tables.Add(CreateTable(laselected))
Return ds
End Function
'------------------------------------------------
Private Function CreateTable(ByRef laselected) As DataTable
'Create the Data Table with the Selected Fields
Dim dat As DataTable = New DataTable("dat")
Dim i As Integer
For i = 0 To ALen(laselected, 1) - 1
dat.Columns.Add(New DataColumn(laselected(i, 0), GetType(String)))
Next
Return dat
End Function
'--------------------------------------------
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only