2012-08-07 127 views
0

我有這樣的代碼從文本文件中讀取變量和創建表

'Open a file for reading 
'Get a StreamReader class that can be used to read the file 
Dim objStreamReader As StreamReader 
Dim variableArray(20) As String 
objStreamReader = File.OpenText(filePath) 

'Read one line at a time 
Dim someString As String 
Dim variableNum As Integer = 0 
'Iterate through lines 
While objStreamReader.Peek() <> -1 
    someString = objStreamReader.ReadLine() 
    variableArray(variableNum) = someString 
    variableNum = variableNum + 1 
End While 
For Each line As String In variableArray 

Next 
objStreamReader.Close() 

我有一個VBScript是在日誌文件中輸出結果,附加在每一行,並界定由「|」只會有兩列。

這裏是VBScript代碼

f1.WriteLine("Server Name " & "|" & strName) 
f1.WriteLine("OS Name: " & "|" & strCaption) 
f1.WriteLine("OS Version: " & "|" & strVersion 
f1.WriteLine("CSD Version: " & "|" & strCSDVer 
f1.WriteLine("Serial Number: " & "|" & strSerial 

的片斷我怎樣才能得到有關我的代碼每一部分閱讀此,除了打破它,然後創建一個顯示結果的表。

回答

1

考慮,你需要以一個新行添加到表從variableArray兩個值,我會做一個FOR..NEXT環路(由2步進),而不是對於...每個:

Dim myTable As New Table 
Dim loopCount As Integer 

For loopCount = 0 To variableNum Step 2 

    Dim myRow As New TableRow 
    Dim myCell1 As New TableCell 
    Dim myCell2 As New TableCell 

    myCell1.Text = variableArray(loopCount) 
    myCell2.Text = variableArray(loopCount + 1) 
    myRow.Cells.Add(myCell1) 
    myRow.Cells.Add(myCell2) 
    myTable.Rows.Add(myRow) 

Next 

既然你已經有數組中的元素存儲在「variableNum」中,你可以從0循環到那個值,每步迭代2次。每次迭代你將創建兩個單元格,當前值和當前值數組中的下一個變量。然後,這些單元格將被添加到一行中,然後該行將被添加到表格中。

1

聲明一個DataTable

Dim table As DataTable = new DataTable("MyTable") 

現在在foreach:

Dim LineArray() As String = Split(line, "|") 'This will break apart each line into its two parts 
'Now add each item of LineArray to the datatable. AKA 
Dim column As DataColumn = new DataColumn() 
column.DataType = System.Type.GetType("System.Int32") 
column.ColumnName = LineArray(0) 
column.ReadOnly = True 
column.Unique = True 
table.Columns.Add(column) 

Dim row As DataRow 
row = table.NewRow() 
row(LineArray(0)) = LineArray(1) 
table.Rows.Add(row) 

我不知道你想實現邏輯整片的,但應該給你一個很好的開始。它基本上取第一列,並將其設置爲表格中的一列,然後取第二列並將其作爲一行值。

一旦你構建了你的DataTable,你可以將它綁定到一個在HTML意義上是一個表格的GridView。

希望這會有所幫助。