I have a text file with following structure :-
C:\Users\abc\Desktop\New Folder\sample.txt
AccountName->AbcPos
AccountName->dblLayer
queryAccount->qskxyz
queryName->qixyz
queryName->abc
queryName->def
next
C:\Users\abc\Desktop\New Folder\New folder\sample3.txt
AccountName->AbcPos
AccountName->dblLayer
queryAccount->qskxyz
queryName->qixyz
AccountName->Names
AccountName->prelLayer
queryAccount->serchTerm
queryName->myName1
next
C:\Users\abc\Desktop\New Folder\sample1.txt
AccountName->AbcPos
AccountName->dblLayer
queryAccount->qskxyz
queryName->qixyz
next
C:\Users\abc\Desktop\New Folder\sample2.txt
AccountName->AbcPos
AccountName->dblLayer
queryAccount->qskxyz
queryName->qixyz
queryName->abc
queryName->def
AccountName->Names
AccountName->prelLayer
queryAccount->serchTerm
queryName->myName1
next
I have to show this information in tabular format on a webpage using vbscript.
The table should be like:-
+------+--------------+--------------+--------------+-----------+
| Path | AccountName1 | AccountName2 | QueryAccount | QueryName |
+------+--------------+--------------+--------------+-----------+
|C:\...| AbcPos | dblLayer | qskxyz | qixyz |
+------+--------------+--------------+--------------+-----------+
|C:\...| AbcPos | dblLayer | qskxyz | abc |
+------+--------------+--------------+--------------+-----------+
|C:\...| AbcPos | dblLayer | qskxyz | def |
+------+--------------+--------------+--------------+-----------+
|C:\3..| AbcPos | dblLayer | qskxyz | qixyz |
+------+--------------+--------------+--------------+-----------+
|C:\3..| Names | prelLayer | qskxyz | abc |
+------+--------------+--------------+--------------+-----------+
|C:\3..| AbcPos | dblLayer | searchTerm | myName1 |
+------+--------------+--------------+--------------+-----------+
Currently I am just reading text file with vbscript but need to show it in tabular format.
Set dict = CreateObject("Scripting.Dictionary")
Set file = fso.OpenTextFile ("c:\test.txt", 1)
row = 0
Do Until file.AtEndOfStream
line = file.Readline
dict.Add row, line
row = row + 1
Loop
file.Close
I can not post my complete code here as I am not able to copy from my environment.
To get you started wrt the parsing of your (one and only) input file:
- Loop over the lines (no need to load them into memory)
- Use "next" to detect 'end of record'
- Split on "->" to get key-value-pairs
- Store the interesting values in an array to make format/markup easy via Join
As in:
Option Explicit
Const csSep = "->"
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim oTS : Set oTS = oFS.OpenTextFile("..\data\36060599.txt")
ReDim aData(4)
Do Until oTS.AtEndOfStream
Dim sLine : sLine = Trim(oTS.ReadLine())
Dim sValue : sValue = ""
If InStr(sLine, csSep) Then sValue = Split(sLine, csSep)(1)
Select Case True
Case ":" = Mid(sLine, 2, 1) ' the Path
aData(0) = sLine
Case "AccountName" = Left(sLine, 11)
aData(2 + IsEmpty(aData(1))) = sValue
Case "queryAccount" = Left(sLine, 12)
aData(3 + IsEmpty(aData(1))) = sValue
Case "queryName" = Left(sLine, 9)
aData(4 + IsEmpty(aData(1))) = sValue
Case "next" = sLine ' End Of Record
' WScript.Echo "<tr><td>" & Join(aData, "</td><td>") & "</td></tr>"
WScript.Echo "|" & Join(aData, "|") & "|"
ReDim aData(4)
End Select
Loop
oTS.Close
output:
cscript 36060599.vbs
|C:\Users\abc\Desktop\New Folder\sample.txt|AbcPos|dblLayer|qskxyz|def|
|C:\Users\abc\Desktop\New Folder\New folder\sample3.txt|AbcPos|prelLayer|serchTerm|myName1|
|C:\Users\abc\Desktop\New Folder\sample1.txt|AbcPos|dblLayer|qskxyz|qixyz|
|C:\Users\abc\Desktop\New Folder\sample2.txt|AbcPos|prelLayer|serchTerm|myName1|
Can't help you with ASP, sorry.
My Implementation is like :-
Set mytable=document.CreateElement("table")
set thead = document.createElement("thead")
set tr=document.createElement("tr")
set th1=document.createElement("th")
th1.setattribute "colSpan","4"
tr.appendChild th1
thead.appendChild tr
set tr2= document.createElement("tr")
set th1= document.createElement("th")
set th2= document.createElement("th")
set th3= document.createElement("th")
set th4= document.createElement("th")
set th5= document.createElement("th")
th1.innerText="AccountName1"
th2.innerText="AccoutnName2"
th3.innerText="QueryAccount"
th4.innerText="QueryName"
th5.innerText="Path/Location"
tr2.appendChild th1
tr2.appendChild th2
tr2.appendChild th3
tr2.appendChild th4
tr2.appendChild th5
thead.appendChild tr2
mytable.appendChild thead
.......................
.......................
For Each thing in Fls
......................
........................
set td1 = document.createElement("td")
set td2 = document.createElement("td")
set td3 = document.createElement("td")
set td4 = document.createElement("td")
set td5 = document.createElement("td")
if condition
set tr3=document.createElement("tr")
td1.innerText=nodeinfo(0)
td2.innerText=nodeinfo(1)
td3.innerText=nodeinfo(2)
td4.innerText=node.text
td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
tr3.appendChild td1
tr3.appendChild td2
tr3.appendChild td3
tr3.appendChild td4
tr3.appendChild td5
tbod.appendChild tr3
elseif i=2 then
set tr3=document.createElement("tr")
td1.innerText="--"
td2.innerText=nodeinfo(0)
td3.innerText=nodeinfo(1)
td4.innerText=node.text
td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
tr3.appendChild td1
tr3.appendChild td2
tr3.appendChild td3
tr3.appendChild td4
tr3.appendChild td5
tbod.appendChild tr3
elseif i=1 then
set tr3=document.createElement("tr")
td1.innerText="--"
td2.innerText="--"
td3.innerText=nodeinfo(0)
td4.innerText=node.text
td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
tr3.appendChild td1
tr3.appendChild td2
tr3.appendChild td3
tr3.appendChild td4
tr3.appendChild td5
tbod.appendChild tr3