ASP - array sorteren (question in dutch)

C

Charlotte

Hallo allen,

We hebben op onze intranet-website een ASP-pagina die zijn gegevens uit een
TXT-bestand haalt.
(de gegevens in de txt staan per lijn en in iedere lijn is de data
gescheiden door een tab)
Het TXT-bestand wordt uitgelezen en de data wordt in een array geplaatst.
Vervolgens wordt de inhoud van de array in een tabel geplaatst.
Dit werkt reeds enige tijd naar ieders tevredenheid.
Doch nu zou ik aan deze code een wijziging moeten aanbrengen, maar weet niet
goed hoe eraan te beginnen.
De inhoud van de array zou moeten kunnen gesorteerd worden door de bezoeker
van de webpagina.
Mijn idee is om boven iedere kolom in de tabel een button te plaatsen en bij
'onclick' dat de data gesorteerd wordt naargelang welke button aangeklikt
is.
Hoe doe ik dat ?
Wie wil me hierbij helpen ?
Hieronder de huidige code, dus zonder sortering
Momenteel is de eerste lijn in de TXT dus ook de eerste rij in de tabel en
de tweede lijn in de TXT is dus nu ook de tweede rij in de tabel, enz...

- - - - -

<%
Filename = "data.txt"

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim FSO
set FSO = server.createObject("Scripting.FileSystemObject")

Dim Filepath
Filepath = Server.MapPath(path & Filename)

If FSO.FileExists(Filepath) Then

Dim FIL
Set FIL = FSO.GetFile(Filepath)

If fil.size > 0 Then
leeg = "neen"

Dim TextStream, Contents
Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False,
TristateUseDefault)

Contents = TextStream.ReadAll

TextStream.Close
Set TextStream = nothing

Else
leeg = "ja"
Contents = "<font color=red><b>Er zijn geen gegevens weer te
geven</b></font>"
End If

Else

Response.Write "Het bestand <font color=red><b>" & Filename &
"</b></font> bestaat <b>niet</b> !<br>Contacteer uw ICT-afdeling."
Response.End

End If

Set FIL = nothing
Set FSO = nothing
%>

<<<html-code>>>

<%
txtline = split(Contents,vbNewLine)
maxtxtline = ubound(txtline)

'correctie omdat het TXT-bestand een blanco laatste lijn heeft
maxtxtline = maxtxtline-1
%>

<<<html-code>>>


<%
If leeg = "neen" Then

On Error Resume Next
for txtlineNr = 0 to maxtxtline
txtarray = split(txtline(txtlineNr),vbTab)

kolom01 = txtarray(0)
kolom02 = txtarray(1)
kolom03 = txtarray(2)
kolom04 = txtarray(3)
kolom05 = txtarray(4)
kolom06 = txtarray(5)
kolom07 = txtarray(6)
kolom08 = txtarray(7)
kolom09 = txtarray(8)
%>

<tr>
<td><%=kolom01%></td>
<td><%=kolom02%></td>
<td><%=kolom03%></td>
<td><%=kolom04%></td>
<td><%=kolom05%></td>
<td><%=kolom06%></td>
<td><%=kolom07%></td>
<td><%=kolom08%></td>
<td><%=kolom09%></td>
</tr>

<%
next

ElseIf leeg = "ja" Then
%>

<tr>
<td colspan="9"><%=Contents%></td>
</tr>

<%
End If
%>

</table>

<<<html-code>>>

- - - - -

dank bij voorbaat,

Charlotte
 
E

Evertjan.

Charlotte wrote on 30 jun 2009 in
microsoft.public.inetserver.asp.general:
Hallo allen,

We hebben op onze intranet-website een ASP-pagina die zijn gegevens
uit een TXT-bestand haalt.
(de gegevens in de txt staan per lijn en in iedere lijn is de data
gescheiden door een tab)
Het TXT-bestand wordt uitgelezen en de data wordt in een array
geplaatst. Vervolgens wordt de inhoud van de array in een tabel
geplaatst. Dit werkt reeds enige tijd naar ieders tevredenheid.
Doch nu zou ik aan deze code een wijziging moeten aanbrengen, maar
weet niet goed hoe eraan te beginnen.
De inhoud van de array zou moeten kunnen gesorteerd worden door de
bezoeker van de webpagina.
Mijn idee is om boven iedere kolom in de tabel een button te plaatsen
en bij 'onclick' dat de data gesorteerd wordt naargelang welke button
aangeklikt is.
Hoe doe ik dat ?
Wie wil me hierbij helpen ?
Hieronder de huidige code, dus zonder sortering
Momenteel is de eerste lijn in de TXT dus ook de eerste rij in de
tabel en de tweede lijn in de TXT is dus nu ook de tweede rij in de
tabel, enz...

- - - - -

<%
Filename = "data.txt"

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim FSO
set FSO = server.createObject("Scripting.FileSystemObject")
[...]

Het lijkt mij, dat je je data beter in een echte database kan stoppen,
bijvoorbeeld een acces-database met de meestal op een Windows server al
aanwezige Jet-engine, omdat dan alle sorteermogelijkheden ingebakken
zitten.

Het inlezen van jouw file in een database is niet zo moeilijk, toch?

Met ADO kan je echter ook een txt file inlezen, en ADO kan ook sorteren,
maar dat is veel omslachtiger. FileSystemObject kan niet met sorteren
omgaan, en dan zou je die functies allemaal zelf opnieuw moeen uitvinden
in ASP. JS-ASP heeft dan nog eeen "sort" functie, VBS-ASP niet.

Read up on ADO here for starters:

<http://www.w3schools.com/ado/default.asp>

en over SQL

Wie wil me hierbij helpen ?

Je zal toch echt een eigen studie moeten doen of een professional
inhuren. Gratis adviezen is wat anders dan gratis een heel programma
schrijven.

Verder kan het helpen op deze NG Engels the schrijven, je hebt dan meer
kans op een uitgebreider antwoord.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top