Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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>

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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
%>

Compartilhar este post


Link para o post
Compartilhar em outros 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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o code do post 4

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros 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! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste o code que postei separadamente. e depois implemente ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.