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

Carregamento Com Problemas...


Holyspear

Pergunta

Bem pessoal... atualmente estou trabalhando em um album de fotos que vai carregar dinamicamente fotos de dentro de uma pasta de arquivos.

Eis o problema:

O álbum está carregando os arquivos, mais eu creio que o laço está fazendo um Loop a mais, isso está gerando mais um arquivo sem dados o que ocasiona o erro. O Loop carrega as imagens em uma página dinâmica ordenados por uma tabela vertical. Mais quando chega no último registro, ao invés de mostrar a imagem, mostra uma célula de uma tabela, com os tamanhos normais, mas com o erro da imagem; o que me leva a crer que o loop nesse último quadro está acontecendo uma vez a mais, e não está encontrando mais fotos dentro da pasta, então ele para e logo abaixo da última foto aparece uma célula com um erro de imagem quebrada.

Gostaria de saber se alguém poderia me ajudar nesse Loop... Vou disponibilizar o código da página para vocês terem uma idéia do que estou falando. Até mais e abraços a todos.

<body>
<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

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

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>
</body>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bem, bem...

Com o laço parece tudo ok.

Vou te dar um conselho, quando eu fazia trabalhos com imagens e aconteciam coisas parecidas, eu costumava clicar com o botão direito do mouse sobre a imagem com problema, pra saber que endereço ela está buscando. Talvez dali você consiga achar a falha. É uma pista.

Se mesmo assim, todo o problema deste universo, for o fato dele estar buscando um a mais e você não quer, tente assim:

Ao invés de:

Rs.MoveFirst
While Not Rs.EoF
Faça:
POSICAO = -1
Rs.Move POSICAO
While Not Rs.EoF

Não sei se vai dar erro, se der, me desculpe, mas é uma tentativa né? :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

Heheheheh... amigo, valeu a tentativa e a ajuda, mas não funcionou. Acho que o que aconteceu eu não sei, mas o Recordset entendeu a nossa variável POSICAO como sendo apenas o primeiro registro; Resultado: Apenas uma foto saiu na página, porém, a foto com o erro continuou junto com a outra!!! Muahwuhauwhauhwuahuehsuehsuehse!!! Pode? Eu ein...

Bem eu já tentei com várias maneiras reposicionar o Cursor do Recordset de forma que ele não desse esse registro em branco (Creio que seja isso mesmo, o Recordset está coletando no Laço, um registro em branco, dando assim um Loop a mais e não saindo foto alguma) mas eu não consegui mesmo. Já quebrei cabeça demais com esse RecordSet Virtual... Hehehehehehe...

Olha só a minha idéia: Como o Registro que está saindo se chama "Thumb.db", eu creio que seja realmente um registro que o RecordSet está "Inventando" por não encontrar uma foto a mais para ele. (Esse "Thumb.db" saiu no código enxuto HTML quando eu pedi para ver o código fonte, ou seja, as fotos estão ordenadas e a última foto seria esse "thumb.db" que na verdade não existe.) Então uma possível solução seria uma maneira de destruirmos no Laço For... Each... o registro que é gerado a mais para cada Field do RecordSet, ou então, uma maneira de eliminarmos um Field do RecordSet que esteja vazio, sem dado algum... e foi isso que eu não consegui fazer até agora, pois não sei manipular os Fields do RecordSet dentro dos laços. :o :unsure: :unsure:

Quem ainda estiver afim de ajudar pessoal... estou aberto a novas tentativaaaaaaasss!!! SOCOOORRROOOOO!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Este arquivo "Thumb.db" não criação do recordset e sim do windows XP, como este código que você está usando serve para exibir todos os arquivos que estão dentro da pasta ele pega este tambem que é oculto.

tenta usar este código que estou te passando para fazer a verificação da extenção do arquivo, isso deve resolver o seu problema.

FileExtention = LCase(Right((pasta.Name), 4))
If FileExtention = ".jpg" Then

End If

Link para o comentário
Compartilhar em outros sites

  • 0

Puxa vida... eu nunca ia descobrir que isso é um arquivo do Windows XP oculto!!!! Affffff...

Amigo, muuuiiitooo obrigado mesmo. Você me ajudou e muito. Eu fiz a readaptação do código que você passou, colocando dentro do Laço If... End if a linha de código que junta os Fields do RecordSet com os arquivos .JPG, ou seja, apenas seriam colocados em Fields os aquivos que tivessem a terminação em .jpg!!!

Muito show. Deixe o Tópico ai para esclarecer mais pessoas que venham ter a dúvida, pois eu participei de muitos fóruns famosos por ai, e te confesso... não consegui resultado em nenhum deles.

Muito obrigado mesmo, mais uma vez agradeço.

Abraços e até breve!!!

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,5k
×
×
  • Criar Novo...