Ir para conteúdo

POWERED BY:

Arquivado

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

KraizeShark

Como fazer isso?

Recommended Posts

Galera,To com o seguinte problemão.Sério.Preciso apenas de uma LUZ.Estou desenvolvento uma página ASP, que lê um determinado diretório.Dentro desse Diretorio, terei arquivos da seguinte forma:1- Forma:Cmb-20070101.???Cmb-20070201.???Cmb-20070301.???Cmb-20060101.???Cmb-20090501.???Re-20060101.???Re-20061201.???2- FormaPd-20060101.???Pd-20060102.???Pd-20060103.???Pd-20060131.???Es-20060101.???Es-20060201.???Es-20060202.???Es-20060203.???Como reparam, os arquivos tem um padrão:Nome_do_arquivo-YYYYMMDD.???O que eu tenho que fazer:A primeira forma, será separada por Ano e mês.Ou seja,Terei que pesquisar no diretório, todos os arquivos dessa forma:Vejo o primeiro ano listado.Coloco ele em uma Tabela.Vejo o segundo ano listado.Vejo se ele existe na tabela.Se existir vejo o proximo ano listadoSe não, coloco esse novo ano na tabela.Ex:Se eu tiver os seguinte anos:2005; 2003; 2006; 2006; 2007; 2004;Eu montaria uma Tabela da seguinte forma.2007; 2006; 2005; 2004; 2003.Depois eu Olhava todos dos arquivos de 2007 e ordenava eles pelo mes.Olhava os arquivos de 2006 e ordenava-os pelo mes...assim até o ultimo ano da tabela.Depois eu montaria uma Tabela, como um Tree View.Que mostraria:2007JaneiroFevereiroMarço . . .Dezembro2006JaneiroFevereiroMarço . . .Dezembro2005JaneiroFevereiroMarço . . .DezembroFeito isso, ao lado de cada mês, teria o arquivo respectivo para que quando eu clicasse no link, pudesse fazer o download do mesmo.Porém não sei como separelos nessa Tabela, já tentei array, mas consegui apenas armazenar os anos, ou os meses.Quando coloco para mostar na ordem, ele não me mostra os arquivos referente a cada mes.Peço o auxilio de todos vocês.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em que parte especificamente você está com duvida?

 

Pra você pegar tanto o nome quanto outras propriedades do arquivo você faz mais ou menos assi:

Dim objFSO, objDir, objArquivoSet objFSO = CreateObject("Scripting.FileSystemObject")' AJUSTA DIRETÓRIO DOS ARQUIVOSSet objDir = objFSO.GetFolder(".")For Each objArquivo In objDir.Files  MsgBox "'" & objArquivo.Name & "'"    ' TRATAR NOME DO ARQUIVO E GRAVAR NO BANCO DE DADOS.  Next

Esse é um exemplinho simples q eu fiz num arquivo .vbs (veja q estou usando MsgBox).

Mas a idéia de trabalhar com os arquivo é essa aí.

Cuidado ao especificar o diretório dos arquivos que serão lidos. Especifique o diretório correto. O '.' (ponto) pega o diretório corrente.

 

Agora se você não for trabalhar com banco de dados, você vai ter q fazer uma lógica igual a que você citou no post trabalhando com FSO e arrays, imagino eu q com vários loopings também pra poder listar os arquivos na orde q você precisa...

 

Precisando postae...

 

Flw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

Me recomendaram usar Collection.

Ou seja.

Vejo o ano e Adiciono ele em uma Collection, vamos supor:

 

Collection 2007 - Todos os arquivos que começam em 2007

Collection 2006 - Todos os arquivos que começam em 2006

 

E por ae vai.

 

Porem só consegui adicionar o ano inteiro em uma collection e ordena-lo na sua exibição.

 

O Código ficou assim:

<%Dim FileSystemDim FolderDim FileDim FilesDim ColDim PositionDim YearMonthDim UrlUrl=("http://www.Blablabla/arquivos/")Location=("d:\arquivos\")Set FileSystem=CreateObject("Scripting.FileSystemObject")Set Col=Server.CreateObject("Scripting.Dictionary")Set Files=FileSystem.GetFolder(Location)Set Folder=Files.FilesFor Each File in Folder	NameFile=File.Name	Position=InStrRev(NameFile, "-",-1,1)	YearMonth=Mid(NameFile, Position +1,6)		Col.Add YearMonth, NameFile		Item=Col.Items	OrderYearMonth=Col.KeysNext		For i=0 to UBound(OrderYearMonth)		%><a href="<%=Url%><%Response.Write(Item(i))%>"><%Response.Write(Item(i))%></a></br><%	Next'free up resourcesSet Col=NothingSet FileSystem=Nothing%>

Porém preciso separa-los, o que é de 2007 na Col. de 2007, o que é de 2006 na Col. de 2006.

Só que para isso, eu tenho que ver todos os anos, organiza-los, do menor para o maior e montar as Collection com esse valores.

Estou Certo???

É assim que terei que fazer né???

 

Porém não tenho a menor idéia de como fazer isso.

 

Se não por pedir muito, faz um exemplo simples para min, que depois eu me viro.

 

Agradeço desde já.

 

abraços

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.