function FSize(FileName: string): LongInt; var F: File; begin AssignFile(F, FileName); reset(F,1); Result := FileSize(F); CloseFile(F); end;
var f:Longint; FSize:integer; FDateTime:TDateTime;f:=FileOpen(FileName,fmOpenRead); FDateTime:=FileDateToDateTime(FileGetDate(f)); FSize:=FileSeek(PFile,0,2); FileClose(f);
procedure TForm1.Button1Click(Sender: TObject); var f:file of byte; i:integer; begin AssignFile(f,'c:\Netlog.txt'); Reset(f); try i:=trunc(filesize(f)/1024); showmessage(inttostr(i)); finally CloseFile(f); end; end;
上面的代码调用Reset时对只读文件有问题所以用FSize:=FileSeek(f,0,2);更好
procedure TForm1.Button1Click(Sender: TObject); var F : Cardinal; d : DWORD; begin F := CreateFile('C:\aa.txt',0,FILE_SHARE_READ, 0,OPEN_ALWAYS ,FILE_ATTRIBUTE_NORMAL ,0); if F <> INVALID_HANDLE_VALUE then begin D := GetFileSize(F, nil); showmessage(floattostr(d) + 'Byte'); end; Showmessage(DatetoStr(FileDateToDateTime(FileAge('C:\aa.txt'))));end;
var
F: File;
begin
AssignFile(F, FileName);
reset(F,1);
Result := FileSize(F);
CloseFile(F);
end;
f:Longint;
FSize:integer;
FDateTime:TDateTime;f:=FileOpen(FileName,fmOpenRead);
FDateTime:=FileDateToDateTime(FileGetDate(f));
FSize:=FileSeek(PFile,0,2);
FileClose(f);
var
f:file of byte;
i:integer;
begin
AssignFile(f,'c:\Netlog.txt');
Reset(f);
try
i:=trunc(filesize(f)/1024);
showmessage(inttostr(i));
finally
CloseFile(f);
end;
end;
var
F : Cardinal;
d : DWORD;
begin
F := CreateFile('C:\aa.txt',0,FILE_SHARE_READ, 0,OPEN_ALWAYS ,FILE_ATTRIBUTE_NORMAL ,0);
if F <> INVALID_HANDLE_VALUE then
begin
D := GetFileSize(F, nil);
showmessage(floattostr(d) + 'Byte');
end;
Showmessage(DatetoStr(FileDateToDateTime(FileAge('C:\aa.txt'))));end;