Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/10/2005, 10:48
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 1 mes
Puntos: 535
Bueno, el ejemplo. Puede tener errores porque lo tuve que editar para quitarle HTML innecesario, pero es la idea:

Código:
<%
CONST adFldIsNullable = &H00000020
CONST adVarChar = 200
CONST adInteger = 3
CONST adDate = 7
CONST adOpenDynamic = 2
CONST adUseClient = 3

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.getFolder(Server.MapPath("carpeta"))

Set rs = Server.CreateObject("ADODB.Recordset")

With rs
	.CursorLocation = adUseClient
	.CursorType = adOpenDynamic
	.Fields.Append "Nombre", adVarChar, 255, adFldIsNullable
	.Fields.Append "Extension", adVarChar, 255, adFldIsNullable
	.Fields.Append "Peso", adInteger, 255, adFldIsNullable
	.Fields.Append "Modificado", adDate, 32, adFldIsNullable
	.Fields.Append "RutaArchivo", adVarChar, 255, adFldIsNullable
	.open

	for each file in folder.Files
		Archivo = file.Name
		arrArchivo = Split(Archivo, ".")
		Extension = arrArchivo(UBound(arrArchivo))
		Peso = file.Size
		.AddNew
		.Fields("Nombre") = file.Name
		.Fields("Extension") = Extension
		.Fields("Peso") = Peso
		.Fields("Modificado") = file.dateLastModified
		.Fields("RutaArchivo") = file.Path
		.update
	next

	Orden = Request.QueryString("Orden")
	Select CASE Orden
		Case "" OrdenarPor = "Nombre ASC"
		Case "NomA" OrdenarPor = "Nombre ASC"
		Case "NomD" OrdenarPor = "Nombre DESC"
		Case "TamA" OrdenarPor = "Peso ASC"
		Case "TamD" OrdenarPor = "Peso DESC"
		Case "ExtA" OrdenarPor = "Extension ASC"
		Case "ExtD" OrdenarPor = "Extension DESC"
		Case "ModA" OrdenarPor = "Modificado ASC"
		Case "ModD" OrdenarPor = "Modificado DESC"
		Case Else OrdenarPor = "Nombre ASC"
	End Select

		.Sort = OrdenarPor
		.MoveFirst

		do while not .eof
' acá recorrés el recordset volátil y creás el html necesario....
		.Movenext
		loop
		.close
End With
Set rs = nothing
Set folder = nothing 
Set fso = nothing
%>
Lo que hago es leer los archivos de una carpeta y colocar en un récordset cada atributo de estos, para poder ordenarlos de manera más fáciil que por el método de la burbuja (y más efectivo, puesto que ese algoritmo o método siempre ordena de manera textual, fechas incluidas)
__________________
...___...