Esta limitação acontece no Win98, se não me engano...

Eduardo Castro Alves <[EMAIL PROTECTED]> escreveu:                              
    Rubem a classe TSearchRec retorna o tamanho do arquivo de uma maneira 
 muito simples.
 
 var
   vSearchRec : TSearchRec;
 
 begin
 
 FindFirst(Application.ExeName, 0, vSearchRec);
    ShowMessage(FloatToStr(vSearchRec.Size / 1024) + ' Kb');
 
 end;
 
 Mas o que me chamou muita atenção foi este comentário.
 - O tamanho do arquivo pode ser maior que 2 GB.
 
 Quando ocorre esta limitação ???
 
 Eduardo
 
 Rubem Nascimento da Rocha escreveu:
 >
 > // Esta função determina o tamanho de um arquivo em bytes.
 > // O tamanho do arquivo pode ser maior que 2 GB.
 > function GetFileSizeEx(const FileName: String): Int64;
 > var
 > lHandle: Windows.THandle;
 > lFindData: Windows.TWin32FindData;
 > begin
 > // Define retorno default
 > Result := 0;
 >
 > // Obtém handle do arquivo
 > lHandle := Windows.FindFirstFile(PChar(FileName), lFindData);
 > if lHandle <> INVALID_HANDLE_VALUE then
 > begin
 > Windows.FindClose(lHandle);
 > Int64Rec(Result).Lo := lFindData.nFileSizeLow;
 > Int64Rec(Result).Hi := lFindData.nFileSizeHigh;
 > end;
 > end;
 >
 > // Copia o arquivo fonte para um arquivo destino, preservando sua data de
 > modificação.
 > procedure CopyFile(const Source, Dest: string);
 > var
 > SourceStream, DestStream: Classes.TFileStream;
 > begin
 > DestStream := nil;
 > // Abre streams de dados para os arquivos de origem e destino
 > SourceStream := Classes.TFileStream.Create(
 > Source, SysUtils.fmOpenRead or SysUtils.fmShareDenyWrite
 > );
 > try
 > DestStream := Classes.TFileStream.Create(
 > Dest, Classes.fmCreate or SysUtils.fmShareExclusive
 > );
 > try
 > // Copia arquivo da origem até o destino
 > DestStream.CopyFrom(SourceStream, SourceStream.Size);
 >
 > // Define a data de modificação do arquivo destino para a mesma do
 > arquivo origem
 > SysUtils.FileSetDate(
 > DestStream.Handle, SysUtils.FileGetDate(SourceStream.Handle)
 > );
 > finally
 > // Fecha arquivo destino
 > DestStream.Free;
 > end;
 > finally
 > // Fecha arquivo origem
 > SourceStream.Free;
 > end;
 > end;
 >
 > Sds.,
 > Rubem Rocha
 > Manaus, AM
 >
 > __________________________________________________________
 > MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br 
 > <http://search.msn.com.br>
 >
 >  
 
 
     
                  
 


 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]

Responder a