webForumDet fria alternativet

Lista mappar och undermappar

4 svar · 242 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Funktionen som visas här nedan listar alla mappar och undermappar i mapparna. (oj det där lät konstigt)

Men den sorterar lite konstigt. skulle vilja kunna sortera det på ett bättre sätt. Hur gör jag det?

så här ser sorteringen ut just nu.
bilder/systembilder/
bilder/toppar/
include/asp/
include/java
bilder/
include/

Jag vill att det ska se ut så här:
bilder/systembilder/
bilder/toppar/
bilder/
include/asp/
include/java
include/

min kod:

<%

dim pi_objFolder

folderspec = "c:\inetpub\wwwroot"
baseURL = folderspec

Function createCategoryOptions(folderspec)
	Dim filesys, demofolder, subfol, folcoll, folist 
	Set filesys = CreateObject("Scripting.FileSystemObject") 
	Set demofolder = filesys.GetFolder(folderspec)  
	Set folcoll = demofolder.SubFolders   
	
	for each subfol in folcoll
		  createCategoryOptions subfol
	next
	
	For Each subfol in folcoll
	
	IF folderspec <> demofolder Then	
		folist = folist & subfol.Name   
		folist = folist & "<BR>"   
	ELSE
	
	namn = Replace(subfol.path,baseURL,"")
	
	  	folist = folist & namn   
		folist = folist & "<BR>"  
	END IF 
	Next
	Response.Write folist 
end function

	
'---------------------------------------------------
response.write createCategoryOptions(folderspec)
%>
Engine^Medlem sedan dec. 20003 887 inlägg
#2

Den sorterar inte konstigt utan som du säger åt den att göra, eftersom du går igenom mapparna rekursivt... om du flyttar runt lite grand kanske det blir som du vill...

<%
dim pi_objFolder

folderspec = "c:\inetpub\wwwroot"
baseURL = folderspec

Function createCategoryOptions(folderspec)
    Dim filesys, demofolder, subfol, folcoll, folist 
    Set filesys = CreateObject("Scripting.FileSystemObject") 
    Set demofolder = filesys.GetFolder(folderspec)  
    Set folcoll = demofolder.SubFolders   

    for each subfol in folcoll
        createCategoryOptions subfol

        IF folderspec <> demofolder Then	
            folist = folist & subfol.Name   
            folist = folist & "<BR>"   
        ELSE
            namn = Replace(subfol.path,baseURL,"")
            folist = folist & namn   
            folist = folist & "<BR>"  
        END IF 
    next
	
Response.Write folist 
end function

	
'---------------------------------------------------
response.write createCategoryOptions(folderspec)
%>

Nu har jag chansat på att det blir rätt, men det är svårt att säga utan att ha testat koden.

solbulleMedlem sedan mars 20015 287 inlägg
#3

/r missuppfattade frågan.

PatrikBMedlem sedan mars 20002 836 inlägg
#4

skulle nog i detta fallet skapa ett recordset där jag la mapp-informationen i olika "fält". På det viset kan jag sortera som jag vill: På datum, ASC, DESC etc.

cya,
PatrikB

AddeladdeMedlem sedan jan. 20013 406 inlägg
#5

Gjorde så här och då fungerar det.

Function createCategoryOptions(folderspec)
	Dim filesys, demofolder, subfol, folcoll, folist 
	Set filesys = CreateObject("Scripting.FileSystemObject") 
	Set demofolder = filesys.GetFolder(folderspec)  
	Set folcoll = demofolder.SubFolders   
	
	for each subfol in folcoll
		  createCategoryOptions subfol
	next	
	
	
	 	namn = Replace(demofolder.path,baseURL,"")
		mappsokvag = Replace(mappsokvag,baseURL,"")
		IF namn = mappsokvag THEN
		  folist = folist & "<option value=""" & demofolder.path & """ selected>" & namn & "</option>" & vbCrLf
		ELSE
		  folist = folist & "<option value=""" & demofolder.path & """>" & namn & "</option>" & vbCrLf
		END IF
	
	
	Response.Write folist 
end function
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)