sexta-feira, 9 de maio de 2003

Paginar ARQUIVOS usando FSO

<%@LANGUAGE="VBSCRIPT"%>
<% Option Explicit


Response.Expires = 0 
Response.Buffer  = True


'PAGINAÇÃO DE ARQUIVOS USANDO ARRAY x FSO
Dim iLoop, limite, pagina, totalarq, i
Dim vlMaximo, vlMinimo, anterior
Dim ObjFso, ObjArq, ObjPasta, ObjSubPasta


Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")
Set ObjPasta = ObjFso.GetFolder(server.MapPath("avatar"))


limite  = 10       ' limite de registros por página
totalarq = ObjPasta.files.count   ' total de arquivos encontrados


 ReDim arrAvatar((totalarq-1))
 Dim y
 y = 0


 ' guardamos cada arquivo dentro de um array
 For Each ObjArq in ObjPasta.Files  
  arrAvatar(y) = objArq.Name
  y = y + 1 
 Next
  
 Set ObjPasta = Nothing
 Set ObjArq = Nothing
 Set ObjFso = Nothing


 pagina = Request("pag")
 IF pagina = "" Then
  IF limite < UBound(arrAvatar) Then
   vlMinimo = 0
   vlMaximo = (limite-1)
  Else
   vlMinimo = LBound(arrAvatar)
   vlMaximo = UBound(arrAvatar)
  End IF
  pagina = 1
  anterior = ""
 Else
  vlMinimo = (pagina*(limite-1))+(pagina)
  vlMaximo = ((limite-1)*(pagina+1))+((pagina)*1)
  IF vlMaximo > UBound(arrAvatar) Then vlMaximo = UBound(arrAvatar)
  pagina = pagina + 1
  anterior = pagina - 2
  IF anterior = 0 Then anterior = ""
 End IF


 IF vlMinimo = 0 Then
  IF Not (vlMaximo >= (y-1)) Then
   response.write "<a href='paginarArq.asp?pag="& pagina &"'>próxima</a><br>"
  End IF
 Else
  IF Not (vlMaximo >= (y-1)) Then
   response.write "<a href='paginarArq.asp?pag="& pagina &"'>próxima</a><br>"
  End IF
  response.write "<a href='paginarArq.asp?pag="& anterior &"'>anterior</a>"
 End IF


 response.write "<br><br>"
 For i = vlMinimo to vlMaximo
  response.write (i+1) &") "
  response.write arrAvatar(i) &"<br>"
 Next
%>



Esta matéria foi postada originalmente no ASP4Developers por Marcio Lima (Guardião) (site), que na época era "Programador ASP e VBA, apaixonado por Design, futurismo e ficção.
". Hoje, vai saber...

0 comentários: