如保取得文本文件的大小(100分)

  • 主题发起人 主题发起人 6180942
  • 开始时间 开始时间
6

6180942

Unregistered / Unconfirmed
GUEST, unregistred user!
filesize(F)函数据只能取得非文本型文件的大小,
请各分大侠指点:如何取text文件的大小?
 
>>filesize(F)函数据只能取得非文本型文件的大小
有这种事??不大相信
请你说一下,如果是text文件,
调用FileSize函数会有什么结果?

如果真是这样,你把文件定义为file of byte打开
不就行了么?
 
用FindFirst函数:

var
SR: TSearchRec;
Size: Integer;
begin
FindFirst('filename.ext', faAnyFile, SR);
Size := SR.Size;
FindClose(SR);
end;

Size就是文件长度。
 
其实用FileSize也可以得到文本文件的长度:

var
F: File; //必须用File类型,而不能用Text
//也可以象蚯蚓说的,用 F: File of Byte;
Size: Integer;
begin
AssignFile(F, 'filename.ext');
Reset(F, 1); //必须把记录长度设为1
Size := FileSize(F);
CloseFile(F);
end;
 
多人接受答案了。
 
再说一招吧:

function GetFileSize(FileName:String);LongInt;
var
Stream:TFileStream;
begin
try
Stream:=TFileStream.Create(FileName,fmOpenRead);
Result:=Stream.Size;
Stream.Free;
except
Result:=-1;
end;
end;
 
后退
顶部