Data de Criação do Diretório

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Data de Criação do Diretório

Mensagem por asimoes »

Prezados,

Tem alguma função que me retorne a data de criação do diretório, não a de atualização.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Data de Criação do Diretório

Mensagem por alxsts »

Olá!

Considerando que um diretório é um arquivo existente em disco e que com a função Directory() podemos recuperar a lista de diretórios de um caminho no sistema de arquivos, creio que seja possível utilizar a classe FileInfo, que foi apresentada pelo colega Jairo no tópico "como apagar arquivos anteriores a data de hoje", para conseguir o que você deseja:

Código: Selecionar todos

01	Function Main()
02	 Local x, aFiles, cFile, aFileInfo, oFileInfo, dDataHoje:=Date(), cPastaFiles
03	       
04	 SET DATE BRIT
05	 SET CENTURY ON
06	 
07	 cPastaFiles := "C:\MinhaPasta\MinhaSubPasta\"  // coloque aqui o caminho da pasta...
08	       
09	 aFiles := Directory( cPastaFiles + "*.*", "D" )     // pasta e tipo de arquivo... note o "D"
DIRECTORY()
Create an array of directory and file information
------------------------------------------------------------------------------
Syntax

DIRECTORY(<cDirSpec>, [<cAttributes>]) --> aDirectory
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Data de Criação do Diretório

Mensagem por asimoes »

Alexandre,

Directory não retorna a data de criação original do diretório, só a de modificação

A classe fileinfo usa a função filestats, também não funciona
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Data de Criação do Diretório

Mensagem por Jairo Maia »

Olá Alexandre Simões,

No exemplo do Alexandre Santos o "D" significa que além dos arquivos serão incluídas a(s) sub pasta(s). Aquele "D" não se refere a data. Se quer saber somente as subpastas do caminho informado basta verificar se o elemento 5 de aFiles{} "contém" a letra "D". O "contém" é porque algumas pastas têm mais de um atributo.
asimoes escreveu:A classe fileinfo usa a função filestats, também não funciona
FileStats() funciona sim. Pode enviar o nome de uma pasta a FileStats() que você terá a data de criação e última alteração. Se alterar a Classe FileInfo também irá funcionar para pastas, mas FileInfo funciona só com arquivos.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Data de Criação do Diretório

Mensagem por asimoes »

Jairo e demais,

O FileStatts funciona sim, não sei o que fiz, mas a informação que eu precisava está funcionando.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder