Avatar billede tdaugaard Nybegynder
03. november 2000 - 16:39 Der er 7 kommentarer og
1 løsning

Sortere FileSystemObject output ..

Med udgang i http://www.eksperten.dk/spm/31745 vil jeg selv spørge om det sammen, hvordan sorterer jeg outputtet fra FileSystemObject når vi snakker filer ? Jeg har følgende kode:

<%
    Set fsoSystem = CreateObject(\"Scripting.FileSystemObject\")
    Set fsoFiles = fsoSystem.GetFolder(Server.MapPath(strBaseDir & strShow))
    Set fsoFolders = fsoSystem.GetFolder(Server.MapPath(strBaseDir & strShow))
               
    For Each fFolder in fsoFolders.Files
        strName = LCase(fFolder.Name)

        If Right(strName, 4) = \".jpg\" Then Response.Write \"<img src=\'\" & strBaseDir & strShow & \"/\" & strName & \"\' width=253 height=190 alt=\'\" & strName & \"\'>\": intPics = intPics + 1
        If intPics > 0 And Int(intPics Mod 3) = 0 Then Response.Write \"<br>\"
    Next

    Set fsoFolders = Nothing
    Set fsoFiles = Nothing
    Set fsoSystem = Nothing
%>

Hvor jeg kun tager .jpg filer, men hvordan kan jeg få FileSysteObject til at sortere filerne sådan at jeg får f.eks.

c01.jpg
c02.jpg
c03.jpg
..

istedet for f.eks.

c02.jpg
c01.jpg
c03.jpg

??

Jeg søger en LØSNING! Så, først til mølle (med en brugbar, funktionel løsning) får point ..
Avatar billede phylox2 Nybegynder
03. november 2000 - 22:57 #1
Har du nogen standard for, hvordan dine filer ser ud ?

Er det ALTID

cXX.jpg

og har du ALTID kun fra 0 -> 99 .jpg filer ?

Hvis du har et \"regelsæt\" for, hvordan dine filer bliver kaldt, så kan jeg måske lave en speciel løsning til dig.
Avatar billede mgade Nybegynder
03. november 2000 - 23:55 #2
Jeg har selv været så smart at putte filnavnene i en base da de kom ind :-)

Men ellers kan du vil gøre det efterfølgende? Altså \"for each fFolder\" >> ned i basen, sorter og voila?

Sidste idé kunne være at smidde navnene i et array og så lave en \"bubble\"-sortering. Noget med at loope gennem arrayet og bytte om på alle navne der ikke overholder (fx) alfabetetet. d,e,a bliver til d,a,e og dernæst til a,d,e. Når et loop er gennemført uden ændring er det sorteret færdigt - så er det bare at skrive ud.
Avatar billede tdaugaard Nybegynder
04. november 2000 - 12:50 #3
<< phylox2 >>

Nej, desværre ikke...

men de hedder dog altid

[basename][count].jpg

hvor [count] bliver padded af nuller hvis Len([count]) < [#_digits_in_[count]] ..

<< mgade >>

Ja, det der med et array har jeg overvejet (kraftigt) men jeg har ingen idé om hvordan man laver en sorterings rutine .. jeg har sikkert et par stykker liggende gravet ned under en bunke QBasic sources men jeg gider sku ikke sidde og grave dem frem ..

Kan du lave en løsning med et array der virker med ovenstående kode ??
Avatar billede tdaugaard Nybegynder
04. november 2000 - 12:52 #4
<< mgade >>
Forøvrigt så bruger jeg ikke nogen database på sitet (eller siden for SÅ stort er det heller ikke ;-)), og grunden til at jeg bruger FileSystemObject på den måde her er NETOP fordi at jeg så ikke skal rette nogle steder hvis jeg smider nye billeder op, da den jo selv tager alle .jpg\'s en efter en..
Avatar billede meelby Nybegynder
04. november 2000 - 13:34 #5
Hvad med at bruge;
dict=Server.CreateObject(\"Scripting.Dictionary\")

Jeg mener at man både kan søge og sorterer i et Dictionary.

Jeg har prøvet at søge, det virkede - men jeg må tilstå at jeg ikke har prøvet at sorterer!
Altså det er bare lidt hjælp i en anden retning :)
Avatar billede tdaugaard Nybegynder
04. november 2000 - 13:37 #6
Jeg har ingen forstand på .Dictionary .. så det er out of the question .. ellers tak :)
Avatar billede tdaugaard Nybegynder
06. november 2000 - 12:20 #7
Nogle bud ?
Avatar billede tdaugaard Nybegynder
09. november 2000 - 00:25 #8
Ser ikke sådan ud ...
Øv .. så må jeg selv prøve at bikse noget sammen med lidt gammel QB sort functions :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester