Ir para conteúdo
Fórum Script Brasil
  • 0

Paginação De Objetos Fso


Holyspear

Pergunta

Bem pessoal, eu acho que vocês já me conhecem. Eu estou trabalhando em um projeto diferenciado para um Álbum de fotos e eu queria criar um Script que realmente fosse de minha autoria, mas encontrei sérios problemas ao tentar fazer esse álbum em ASP.

Venho aqui hoje colocar pra vocês um novo problema que tenho enfrentado... não sei se existe um modo para mudar essa programação, mas vamos lá.

Fiz o código que abre o objeto FSO, coleta os arquivos de dentro de um diretório, elimina os arquivos que não são imagens terminadas em ".jpg" e por fim coloca esses arquivos cada um em um RecordSet Virtual, criado sem a necessidade de buscar registros em um banco de dados. O Problema é justamente esse: eu não estou conseguindo paginar esse RecordSet Virtual. Se alguém que manja de Paginação bem ai me ajuda, porque eu estou começando um estudo aprofundado agora, não dava tanta atenção pra isso assim não... mas agora que vejo que é essencial, e o pior: é muito complexo.

O Código eu já tinha postado aqui no fórum. Mas... ai vai novamente:

<form name="tumb">

<% 
Set FSO = Server.CreateObject ( "Scripting.FileSystemObject" )


Set Pasta = FSO.GetFolder ( Server.Mappath("imagens\") )


Set Rs = Server.CreateObject ( "ADODB.RecordSet" )

Rs.Fields.Append "nome", 200, 255

Rs.Open

For Each Arquivo In Pasta.Files

naoimagem = LCase(Right((Arquivo.Name), 4))

If naoimagem = ".jpg" Then

Rs.AddNew 
Rs.Fields("nome").Value = Arquivo.Name

End If

Next

Rs.Movefirst
While Not Rs.EoF

Response.Write "<table width=""96"" height=""71"" border=""0"" align=""center""><td width=""96""><a href=""imagens/" & rs.fields("nome").value & """ target=""fotos""><img src=""imagens/" & rs.fields("nome").value & """ width=""96"" height=""71""></a></td>"

Rs.MoveNext 
Wend

Rs.Close
Set Rs = Nothing

Set Pasta = Nothing
Set FSO = Nothing
%> 
</form>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

testa aí:

eu criei uma pagina chamada galeria_fotos.asp tem só que mudar este nome p/ o que você usa p/ não dar erro.

<form name="tumb">
<% 
Set FSO = Server.CreateObject ( "Scripting.FileSystemObject" )
Set Pasta = FSO.GetFolder ( Server.Mappath("imagens\") )

Set Rs = Server.CreateObject ( "ADODB.RecordSet" )
Rs.Fields.Append "nome", 200, 255
rs.CursorType = 3
Rs.Open

For Each Arquivo In Pasta.Files
naoimagem = LCase(Right((Arquivo.Name), 4))
If naoimagem = ".jpg" Then

Rs.AddNew 
Rs.Fields("nome").Value = Arquivo.Name
End If
Next
Rs.Movefirst

'CONFIGURAÇÃO PAGINAÇÃO
IF Request.QueryString("PN") = "" THEN
PaginaCorrente = 1
ELSE
PaginaCorrente = Request.QueryString("PN")
END IF

IF Request.QueryString("intervalo") = "" THEN
Intervalo = 10 'Valor Padrão
ELSE
Intervalo = Request.QueryString("intervalo")
END IF
   
Rs.PageSize = CInt(intervalo)
   
TotalPaginas= RS.PageCount
TotalRegistros = RS.recordcount

IF NOT Rs.Eof THEN
Rs.AbsolutePage = CInt(PaginaCorrente)
END IF
'FIM CONFIGURAÇÃO PAGINAÇÃO
%>
<script language="JavaScript" type="text/javascript">
function RedirPagina() {
var int = <%=Intervalo%>
var page = prompt("Digite uma página entre 1 e <%=rs.pagecount%>","<%=PaginaCorrente+1%>");
if ((page > <%=rs.PageCount%>) || (page < "1")) {
alert("Página inexistente!");
page = <%=PaginaCorrente%>;
} else if (page==null || page=="") {
alert("Vou direcionar para a página 1!"); page = "1";
}
window.location.href="galeria_fotos.asp?PN="+page+"&intervalo="+int;
}
</script>

<script LANGUAGE="JavaScript">
<!--
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//-->
</script>
<%
DO UNTIL RS.AbsolutePage <> CInt(PaginaCorrente) OR Rs.EOF

Response.Write "<table width=""96"" height=""71"" border=""0"" align=""center""><td width=""96""><a href=""imagens/" & rs.fields("nome").value & """ target=""fotos""><img src=""imagens/" & rs.fields("nome").value & """ width=""96"" height=""71""></a></td>"

Rs.MoveNext 
loop

%> 
</form>
        <table width="78%" border="0" align="center">
<tr>
   <td align="center"><div align="center"><font face="Verdana" style="font-size: 10pt"><a href="java script:RedirPagina();">Ir pára Página</a></font></div></td>
</tr>
<tr>
   <td align="center"><font face="Verdana" style="font-size: 10pt">
<%
'Mostrar Páginas
Flag = INT(TotalPaginas / Intervalo)
  Flag1 =  INT(PaginaCorrente / Intervalo)
  'Definir página inicial e final
  PI = Flag1 * Intervalo
  IF PI = 0 THEN
     PI = 1
  END IF
  PF = PI + Intervalo - 1

  'Link PRIMEIRA Página
  IF CInt(PaginaCorrente) > 1 THEN
  Response.Write "<a href=""galeria_fotos.asp?PN=1" & "&intervalo="  & intervalo & """>Primeira</a>&nbsp;"
Else
Response.Write "<font color=""#ADADAD"">Primeira</font>&nbsp;"
  END IF

  'Colocar << se for preciso
  IF CInt(PaginaCorrente) > 1 THEN
  Response.Write "<a href=""galeria_fotos.asp?PN=" & PaginaCorrente-1  & "&intervalo=" & intervalo &  """><< Anterior</a>&nbsp;"
Else
Response.Write "<font color=""#ADADAD"">Anterior</font>&nbsp;"
  END IF

  'Páginas
  FOR I = PI TO PF
     IF CInt(I) <= CInt(TotalPaginas) THEN
     IF CInt(PaginaCorrente) = CInt(I) THEN
        response.write("<font color=""#ADADAD"">" & I & "</font>") & "&nbsp;"
     ELSE
         response.write "<a href=""galeria_fotos.asp?PN=" & I &  "&intervalo=" & intervalo & """>" & I &  "</a>&nbsp;"
     END IF
  END IF
  NEXT
  'Colocar >> se for preciso
  IF (CInt(PaginaCorrente) < TotalPaginas) THEN
     IF CInt(PF) <> CInt(TotalPaginas) THEN
    Response.Write "<a href=""galeria_fotos.asp?PN=" & PaginaCorrente+1  & "&intervalo=" & intervalo &  """>Próxima >></a>&nbsp;"
  END IF
Else
  Response.Write "<font color=""#ADADAD"">Próxima</font>&nbsp;"
  END IF

  'Link Última Página
  IF (CInt(PaginaCorrente) <> TotalPaginas) THEN
     IF CInt(PF) <> CInt(TotalPaginas) THEN
    Response.Write "<a href=""galeria_fotos.asp?PN=" & TotalPaginas &  "&intervalo=" & intervalo &  """>Última</a>&nbsp;"
  END IF
Else
  Response.Write "<font color=""#ADADAD"">Última</font>&nbsp;"
  END IF
'FIM Mostrar Páginas

%></font></td>
</tr>
</table>

Link para o comentário
Compartilhar em outros sites

  • 0

Pow véio muito show a sua Paginação!!!

Só que... heheheheh, eu num manjo nada de JavaScript. Muahuwhauhuahuehsuehsuehseuhseuhse!!!! E tem tanta coisa pra resolver além dessa paginação que eu até desanimo as vezes. Eu estava na esperança de pegar um código em ASP pra que eu pudesse entender... porque além dessa paginação, eu tenho que fazer algo mais ou menos assim:

As fotos iriam aparecer em um determinado local da página, e os links para paginação iriam aparecer em outro totalmente diferente!!!

Mas mesmo assim meu amigo, já está me ajudando e muito. Obrigado mesmo!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...