Jump to content
Sign in to follow this  
Guilherme Strich

Posicionamento de Imagens

Recommended Posts

Bom-Dia Caros Amigos,

 

Recebi um código pronto do site de um cliente, ele é em ASP e não sei mexer com programação, sou apenas designer.

Porem, como é um cliente-amigo, quero ajudar ele nisso, já pesquisei no Google, aqui na iMasters e outros sites também, porem não achei uma solução, então resolvi postar aqui para ver se alguma boa alma pode me ajudar nisso.

 

O cliente tem uma revista online, onde atualiza mensalmente atraves do Gerenciador de Conteudo dele, porem a ordem está errada.

No site aparece ao contrário, tipo, ele gostaria que a última imagem que aparecesse, fosse a última cadastrada e assim por diante, nessa ordem e atualmente está ao contrário essa ordem.

 

Segue aqui abaixo o código dessa parte, caso alguem possa me ajudar, agradeço desde já!

 

:yes:

<script>
	function revista(qual) {
		window.open("/portfolio/" + qual + "/","revista","width=1024,height=768,left=0,top=0,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,fullscreen=no'");
	}
</script>
<table width="100%">
	<tr>
	<%
	
		set fso			= CreateObject("scripting.FileSystemObject")
		set Diretorio	= fso.GetFolder(server.MapPath("/portfolio")) 
		set Pastas		= Diretorio.subfolders 
	
		if Pastas.count > 0 then
			contagem = 1
			for each folder in Pastas 
				if folder.Name <> "_temp" and folder.Name <> "_revistamodelo" then
					set txt_nome = FSO.GetFile(server.MapPath("/portfolio/" & folder.Name & "/nome.txt")).OpenAsTextStream(1,false)
					while not txt_nome.AtEndOfStream
						titulo = titulo & txt_nome.Readline
					wend
	%>
					<td style="padding:5px;" align="center" valign="top">
						<a href="javascript:void(0);" onclick="revista('<%=folder.Name%>');">
							<img width="200" src="/portfolio/<%=folder.Name%>/capa.jpg" style="border:#3F3F3F solid 5px;">
							<br><%'=titulo%>
						</a>
					</td>
	<%
					if contagem = 3 then
						response.write "</tr><tr><td></td></tr><tr>"
						contagem = 0
					end if
					contagem = contagem + 1
				end if
			next
		else
	%>
		</tr>
		<tr>
			<td align="center" height="200"><b><font color="red">Nenhum arquivo na pasta!</font></b></td>
		</tr>
	<%end if%>
</table>

Share this post


Link to post
Share on other sites

Olá Guilherme,

 

OPS, depois que postei, fui reler e vc quer ordenar pelo FSO, nesse caso eu Desconheço esse método.

 

 

------------------------------------------------------------------------------

 

Já tentou usar o comando "order by" ?

 

Exemplo:

Select * from tabela order by nome desc

"desc" ordem decrescente.

"asc" ordem crescente.

Edited by wilnet

Share this post


Link to post
Share on other sites

Tipo assim:

 

vc tem 10 img

 

1,2,3,4,...10

dae o user vai insere mais 1. No caso a 11. na view vc quer que fique

1,2,3,4,...11

 

para ordenar vc teria que jogar em um array, pode-se usar uma técnica chamada bubble-sort (postei um code assim no fórum). Mas dá uma olhada neste code. Mas tome cuidado dependendo da quantidade de arquivos e o tamanho das IMG, pode ficar pesado

<%
"Primeiro vamos abrir um objeto FSO
Set objFSO = Server.CreateObject ( "Scripting.FileSystemObject" )

"Agora pegamos a pasta com as imagens!
Set objPasta = objFSO.GetFolder ( Server.Mappath("images\") )

"Vamos criar um recordset agora!
"Ele que vai ter o trabalho de ordenar os arquivos!
Set Rs = Server.CreateObject ( "ADODB.RecordSet" )

"Vamos adicionar 2 campos nesse recordset!
"O método Append recebe 3 parâmetros:
"Nome do campo, Tipo, Tamanho (opcional)
"O tipo pertence à um DataTypeEnum, e você pode conferir os tipos em
"http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstdatatypeenum.asp
"200 -> VarChar (String), 7 -> Data
Rs.Fields.Append "nome", 200, 255
Rs.Fields.Append "data", 7

"Vamos abrir o Recordset!
Rs.Open

"Temos que percorrer agora todos os arquivos e jogar na nossa tabela virtual!
For Each Arquivo In ObjPasta.Files

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

Next

"Todos os arquivos no recordset, agora vamos ordená-lo!
"Da maior data para a menor!
Rs.Sort = "data desc"

"Pronto! Agora temos os arquivos todos em ordem em nosso recordset! Vamos exibi-los!
Rs.MoveFirst
While Not Rs.EoF
Response.Write "<img src=""images/" & rs.fields("nome").value & """><br>"
Response.Write "Data de Modificação: " & rs.fields("data").value
Response.Write "<p>"

Rs.MoveNext
Wend

"Fechando os objetos!
Rs.Close
Set Rs = Nothing

Set objPasta = Nothing
Set objFSO = Nothing
%>

Share this post


Link to post
Share on other sites

Olá Guilherme,

 

OPS, depois que postei, fui reler e você quer ordenar pelo FSO, nesse caso eu Desconheço esse método.

 

 

------------------------------------------------------------------------------

 

Já tentou usar o comando "order by" ?

 

Exemplo:

Select * from tabela order by nome desc

"desc" ordem decrescente.

"asc" ordem crescente.

 

Obrigado pela ajuda...

Porem como disse, não entendo nada de programação e estou fazendo isso apenas para quebrar um galho para um amigo =) Esse "Select * from tabela order by nome desc ou asc" eu colocaria em qual parte do código?

Share this post


Link to post
Share on other sites

usa o code do post 4

Share this post


Link to post
Share on other sites

embaixo do FSO (objeto instanciado), mas vc terá que adequar as suas perferências

Share this post


Link to post
Share on other sites

embaixo do FSO (objeto instanciado), mas você terá que adequar as suas perferências

Tentei de algumas formas, mas não consegui funcionou, vou avisar meu amigo que não consigo e indicar a ele algum programador capacitado para isso! Obrigado a todos pela ajuda! =)

Share this post


Link to post
Share on other sites

Teste o code que postei separadamente. e depois implemente ele

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.