Tamanho de um arquivo?
Alguem sabe como retornar o tamanho de um arquivo sem ter que abri-lo?
Marconi
Marconi
Marconi
Curtidas 0
Respostas
Nildo
03/12/2003
Use o FindFirst:
function TamanhoArq(sArq: String): Integer;
var
srSearch: TSearchRec;
nRes: Integer;
begin
nRes := FindFirst(sArq, faAnyFile, srSearch);
if nRes = 0 then
Result := srSearch.Size;
end;
function TamanhoArq(sArq: String): Integer;
var
srSearch: TSearchRec;
nRes: Integer;
begin
nRes := FindFirst(sArq, faAnyFile, srSearch);
if nRes = 0 then
Result := srSearch.Size;
end;
GOSTEI 0
Marconi
03/12/2003
Nildo
Perfeito.
Funcionou OK.
Não abusando da sua boa-vontade.
Voce tem uma outra maneira de pegar a data do arquivo que não seja esta:
DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
Funciona, mas de vez em quando dá uns paus.
Obrigado
Marconi
Perfeito.
Funcionou OK.
Não abusando da sua boa-vontade.
Voce tem uma outra maneira de pegar a data do arquivo que não seja esta:
DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
Funciona, mas de vez em quando dá uns paus.
Obrigado
Marconi
GOSTEI 0
Nildo
03/12/2003
Voce pode usar o mesmo esquema. Só que ao invez de .Size use o .Time:
function DataArq(sArq: String): TdateTime;
var
srSearch: TSearchRec;
nRes: Integer;
begin
nRes := FindFirst(sArq, faAnyFile, srSearch);
if nRes = 0 then
Result := srSearch.[b:6144fa0212]Time[/b:6144fa0212];
end;
function DataArq(sArq: String): TdateTime;
var
srSearch: TSearchRec;
nRes: Integer;
begin
nRes := FindFirst(sArq, faAnyFile, srSearch);
if nRes = 0 then
Result := srSearch.[b:6144fa0212]Time[/b:6144fa0212];
end;
GOSTEI 0
Marconi
03/12/2003
Nildo
Por favor me dê mais uma ajuda.
Usando a última função, uma data que deveria ser ´04/12/2003´ aparece como ´05/01/21851´
Deve estar faltando alguma outra conversão para transforma-la em uma data comum.
Se voce souber, por favor me passe.
Marconi
Por favor me dê mais uma ajuda.
Usando a última função, uma data que deveria ser ´04/12/2003´ aparece como ´05/01/21851´
Deve estar faltando alguma outra conversão para transforma-la em uma data comum.
Se voce souber, por favor me passe.
Marconi
GOSTEI 0
Marconi
03/12/2003
Achei a solução:
é só substituir a linha
Result := srSearch.Time;
por
Result := FileDateToDateTime(srSearch.Time);
que funcionou legal
Muito Obrigado, mesmo.
Marconi
é só substituir a linha
Result := srSearch.Time;
por
Result := FileDateToDateTime(srSearch.Time);
que funcionou legal
Muito Obrigado, mesmo.
Marconi
GOSTEI 0
Nildo
03/12/2003
É que faltou um detalhe que percebí só agora!
Se funcionar me avisa!
t+
function DataArq(sArq: String): TDateTime; var srSearch: TSearchRec; begin FindFirst( sArq, faAnyFile, srSearch); Result := FileDateToDateTime(srSearch.Time); sysUtils.FindClose(srSearch); end;
Se funcionar me avisa!
t+
GOSTEI 0