Array
(
)

Como descobrir o local de um arquivo, e sua data de criação?

Titanius
   - 07 fev 2006

Olá amigos,

Estou querendo fazer um atualizador de executavel do meu sistema, para isso preciso varrer todos os drives da máquina do cliente e procurar meu Executável, e guardar em uma variavel, pode ser mais de um local porém sempre um executável. Preciso também ao descobrir o local, verificar a data de criação do arquivo, para saber se tenho ou não que atualizar-lo

Eis minha pergunta: Como localizo um executável na máquina, e como descobrir sua data de criaçao?

Desde já agradeço

[]s


Massuda
   - 07 fev 2006

Sobre a busca no HD, pesquise aqui o fórum por FindFirst.

Com relação a usar a data de criação do arquivo... se seu programa for baixado da internet ou qualquer outro meio eletrônico que não seja físico (disquete, cd, etc), a data de criação do arquivo será a data em que o usuário baixou o programa no HD. Ao invés de usar essa data, use o número de versão mantido no seu programa (Project|Options|Version Info).


Martins
   - 07 fev 2006


Citação:
Sobre a busca no HD, pesquise aqui o fórum por FindFirst.

Com relação a usar a data de criação do arquivo... se seu programa for baixado da internet ou qualquer outro meio eletrônico que não seja físico (disquete, cd, etc), a data de criação do arquivo será a data em que o usuário baixou o programa no HD. Ao invés de usar essa data, use o número de versão mantido no seu programa (Project|Options|Version Info).


Uma observação importante Massuda, pois sempre verifico q os arquivos q baixo da Internet tem sua data de criação modificada para a data do Download, é como se o SO interpretasse q naquela data ele estivesse sendo criado no disco. Procurar pelo número da versão é interessante, ele vai sempre procurar um número maior do q o da atual versão é isso?
ex:
versão: 1.0.2.1
versão: 1.0.2.2


Massuda
   - 07 fev 2006


Citação:
..ele vai sempre procurar um número maior do q o da atual versão é isso?
Basicamente é isso mesmo.


Titanius
   - 07 fev 2006

Blz, e como eu pegaria esta versao do arquivo?

[]s


Paullsoftware
   - 07 fev 2006

eu uso essa função para retornar a data e hora da modificação do arquivo!
#Código

{Retorna a data e a hora de um arquivo}
function ChecaDataExe(Arquivo: String): String;
var
FHandle: integer;
begin
if not fileexists(Arquivo) then
begin
Result := ´Arquivo não encontrado!´;
end
else
begin
FHandle := FileOpen(Arquivo, 0);
try
Result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
finally
FileClose(FHandle);
end;
end;
end;



Massuda
   - 07 fev 2006


Citação:
como eu pegaria esta versao do arquivo?
[url=http://forum.clubedelphi.net/viewtopic.php?t=52066]Neste tópico[/url] tem várias sugestões sobre como fazer isso.