Jump to content

[VB6] Indexação de ficheiros e pastas


softklin

Recommended Posts

Olá!

Sem nada para fazer e com muita tralha desarrumada no PC, estava a pensar em fazer um programa que me listasse todos os ficheiros da pasta Os meus documentos (inicialmente era para o disco todo, mas não me valia a pena... mas é sempre bom saber isso!) com os respectivos tamanhos e algumas estatísticas.

Ainda não fiz nada, mas já estou a pensar nos probemas:

1. Calcular o tamanho de uma pasta que está dentro de outra e de outra, e repectivos ficheiros....

2. ----Vou postando mais à medida que os encontre----

Estava a pensar fazer isto num programa que ficasse em background e no final, tipo triunfante  😁, me apresentasse uma mensagem com o tamanho total das pastas e depois mun relatório gravado para um ficheiro, estatísticas de número de files por extensão, tamanho médio, etc...

Eu bem sei que isto custa...  😉

Tencionava fazer assim:

1º form:

talvez uma barra d progresso (primeiro saber o tamanho total da pasta e depois ver isso)

Botão de parar indexação

botão ver estatisticas (ir para o 2º form)

2º form:

Uma text gigante para o relatório (com tamanhos de ficheiro e respecivas estatísticas)

Botão guardar relatório (para ficheiro)

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Para saberes o tamanho de uma pasta, basta somares o tamanho dos ficheiros que se encontram dentro dessa pasta

Mas supõe que tenho um esquema de pasta como na figura:

http://img246.imageshack.us/img246/4496/folderstln6.th.jpg

PS: Desculpa lá a "fatelice" de esquema, mas fui o que consegui despachar melhor...

Pronto então com esse esquema, supõe que entro na pasta1. Tudo bem...

Mas e agora tenho de calcular o tamanho das pastas 1.1 e 1.2.. E depois ainda tenho de entrar na pasta 1.1 paar ir às pastas 1.1.1 e 1.1.2, e ainda voltar atrás... Estava a pensar num ciclo for, mas isso parece impossível...  😉

Alguma ideia?

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Nada é impossivel  😉

Tambem andava curioso soubre como fazer issu, pois tambem precisava de saber como ver os ficheiros que estão num directorio e tal, e entao andei a procura e encontrei istu. O código que la esta da-te o "tamanho" de um directório(em bytes se nao estou enganado). Mesmo assim se o que queres é dares ao programa um directório(ex: c:\Pasta_Teste") e ele atomaticamente te dar o tamanho dessa pasta e caso existam sub pasta dar-te tambem o "tamanho" dessas sub pastas, penso que com esse código tambem o conssegues, fazendo umas alterações  😄

Se precisares de ajuda...

Cumps

Link to comment
Share on other sites

Ya! Ainda não vi o código na totalidade, mas pelos menos no que respeita em adquirir o tamanho das pastas e ficheiros, parece-me que está lá tudo!  😉

E tens razão, o tamanho dos files é adquirido em bytes (eles depois convertem isso no código para KB).

Não sei se já tens o source que me indicas-te (provalvelmente já), mas ainda assim deixo-o aqui e anexo paar outro users que possam ter a mesma dúvida.

Agora só me resta analisar o código e dar notícias... Obrigado NuGuN, pelo bom source fornecido  😄

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
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
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.