/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Sortere med "Scripting.FileSystemObject"??
Fra : Martin Kruse


Dato : 22-12-01 16:14

Hej..

Jeg har et lille problem.
Når jeg kigger i en mappe efter nogen andre mapper og vil have skrevet dem
op på en liste bliver de skrevet op i omvendt dato-rækkefølge. Altså den
ældste mappe forrest.
Hvordan gør man sådan at listen bliver i alfabetisk rækkefølge?
Er der en eller anden sorteringsfunktion eller hva..?

På forhånd tak..

--

MK
http://www.msdesign.dk
Professionelt webdesign til fornuftige priser




 
 
Jakob Andersen (22-12-2001)
Kommentar
Fra : Jakob Andersen


Dato : 22-12-01 17:47

"Martin Kruse" <martin.kruse@get2net.dk> skrev i en meddelelse
news:a027tj$1hl6$1@news.cybercity.dk...
> Når jeg kigger i en mappe efter nogen andre mapper og vil have skrevet dem
> op på en liste bliver de skrevet op i omvendt dato-rækkefølge. Altså den
> ældste mappe forrest.

Der findes ingen sorteringsfunktion når vi snakker FileSystemObject, du
bliver nødt til at indlæse mapperne i et array og sortere dem der.

Kig lidt på dette eksempel, jeg har brugt Dennis Knappes bubblesort script
fra activedeveloper.dk:

<%
'Vi satser på at vi ikke har over hundrede mapper, og husk lige at ReDim er
slem
Dim arrFiler(1,100)

'Filsystemobjektet + et par tæller variabler defineres
Dim objFS, folder, fil, objFC, filcount, i

'Vores tællervariabel sættes lig Nul
filcount = 0

'Vi henter nu alle filer i en folder
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set folder =objFS.GetFolder("G:\Inetpub\wwwroot\")
Set objFC = folder.Files

'Vi løber igennem filerne en for en for at putte navnet
'samt datoen ind i et todimmensionelt array
For Each fil in objFC
arrFiler(0,filcount) = fil.Name
arrFiler(1,filcount) = fil.DateLastModified
filcount = filcount + 1
Next

Set objFS = Nothing
Set folder = Nothing
Set objFC = Nothing

'Her kalder vi Bubblesort funktionen på datoen i vores Array.
Call BubbleSort(arrFiler, 1, 1)

' Vi udskriver nu filerne fra det sorterede array
For i = 0 To UBound(arrFiler,2)
If arrFiler(0,i) <> "" Then
Response.Write(arrFiler(0,i) & " (" &
Formatdatetime(arrFiler(1,i),1) & ")<br>")
End If
Next

Private Sub BubbleSort(byRef arrTemp, byVal sDim, byVal sSort)
Dim n
Dim y
Dim t
Dim tmpTop
Dim tmpVal
Dim iBookMark
Dim BubbleElement

BubbleElement = False

For n = 0 To UBound(arrTemp,2)
tmpTop = arrTemp(sDim,n)
iBookmark = n

For y = n To UBound(arrTemp,2)
If sSort = 0 Then
If (tmpTop > arrTemp(sDim,y)) Then
BubbleElement = True
End If
Else
If (tmpTop < arrTemp(sDim,y)) Then
BubbleElement = True
End If
End If

If BubbleElement Then
tmpTop = arrTemp(sDim,y)
iBookmark = y
BubbleElement = False
End If
Next
For t = 0 to UBound(arrTemp, 1)
tmpVal = arrTemp(t, n)
arrTemp(t, n) = arrTemp(t, iBookmark)
arrTemp(t, iBookmark) = tmpVal
Next
Next
End Sub
%>

--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



Martin Kruse (22-12-2001)
Kommentar
Fra : Martin Kruse


Dato : 22-12-01 19:18

> Der findes ingen sorteringsfunktion når vi snakker FileSystemObject, du
> bliver nødt til at indlæse mapperne i et array og sortere dem der.

Hvis der ikke er nogen sorteringsfunktion, hvordan kan det så være at
mapperne på min egen server bliver sat i rækkefølge efter dato og de på en
anden server bliver sat i alfabetisk rækkefølge?? Det er præcis samme
script..
Det er det jeg ikke kan forstå.

--

MK
http://www.msdesign.dk
Professionelt webdesign til fornuftige priser



Anders Lund (22-12-2001)
Kommentar
Fra : Anders Lund


Dato : 22-12-01 20:54

Martin Kruse <martin.kruse@get2net.dk> skrev i en
nyhedsmeddelelse:a02io2$224l$1@news.cybercity.dk...
> Hvis der ikke er nogen sorteringsfunktion, hvordan kan det så være at
> mapperne på min egen server bliver sat i rækkefølge efter dato og de på en
> anden server bliver sat i alfabetisk rækkefølge?? Det er præcis samme
> script..
> Det er det jeg ikke kan forstå.
Det er nok pga. den måde mappen er indstillet til at blive sorteret i
windows.

Mvh
Anders Lund



Martin Kruse (22-12-2001)
Kommentar
Fra : Martin Kruse


Dato : 22-12-01 23:19

"Anders Lund" <anders@itnews.dk> skrev i en meddelelse
news:3c24e482$0$55635$edfadb0f@dspool01.news.tele.dk...
> Martin Kruse <martin.kruse@get2net.dk> skrev i en
> nyhedsmeddelelse:a02io2$224l$1@news.cybercity.dk...
> > Hvis der ikke er nogen sorteringsfunktion, hvordan kan det så være at
> > mapperne på min egen server bliver sat i rækkefølge efter dato og de på
en
> > anden server bliver sat i alfabetisk rækkefølge?? Det er præcis samme
> > script..
> > Det er det jeg ikke kan forstå.
> Det er nok pga. den måde mappen er indstillet til at blive sorteret i
> windows.

Nej, dette tænkte jeg nemlig også selv.
Så jeg tjekkede op på det og fandt ud af at det ikke havde noget med det at
gøre.
Desværre..

--

MK
http://www.msdesign.dk
Professionelt webdesign til fornuftige priser



Jakob Andersen (23-12-2001)
Kommentar
Fra : Jakob Andersen


Dato : 23-12-01 11:01

"Martin Kruse" <martin.kruse@get2net.dk> wrote in message
news:a02io2$224l$1@news.cybercity.dk...
> Hvis der ikke er nogen sorteringsfunktion, hvordan kan det så være at
> mapperne på min egen server bliver sat i rækkefølge efter dato og de på en
> anden server bliver sat i alfabetisk rækkefølge?? Det er præcis samme
> script..

Jeg vil gætte på at scriptet retter sig efter den "default" sortering der er
angivet i folder options på den enkelte maskine.

Husk nu at en af de underlige ting mht w2k er at indstillingerne er
forskellige af om der er logget en bruger ind eller ej.

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408844
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste