飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3180|回复: 6

请问如何在delphi中检测文件自身大小

[复制链接]

该用户从未签到

发表于 2006-11-19 23:10:27 | 显示全部楼层 |阅读模式
请教各位xdjm,如何在delphi中检测文件自身大小,希望能讲详细点,谢谢!!
PYG19周年生日快乐!

该用户从未签到

发表于 2006-11-20 08:38:46 | 显示全部楼层
用FILESIZE函数吧,先随便指定个数LEN,编译后,得到真正的长度,然后再把LEN改为真正的长度,在程序中比较。
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2006-11-20 21:19:52 | 显示全部楼层
多谢caterpilla (惊涛) !!
PYG19周年生日快乐!

该用户从未签到

发表于 2006-11-26 19:29:41 | 显示全部楼层
给出DELPHI 源码 获得程序自己大小!~
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function FileSizeEx(const FileName: string): Int64;
var
Info: TWin32FindData;
Hnd: THandle;
begin
Result := -1;
Hnd := FindFirstFile(PChar(FileName), Info);
if (Hnd <> INVALID_HANDLE_VALUE) then
begin
   Windows.FindClose(Hnd);
   Int64Rec(Result).Lo := Info.nFileSizeLow;
   Int64Rec(Result).Hi := Info.nFileSizeHigh;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
EDIT1.Text:=Application.ExeName;
Edit2.Text:=IntToStr(FileSizeEx(Edit1.Text));
end;

end.

[ 本帖最后由 ww-jack 于 2006-11-26 19:31 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2006-11-27 14:57:36 | 显示全部楼层

在主程序中完成检查

Application.Initialize;
if if GesSelfSize()<> 379904 then Application.Terminate;
Application.CreateForm(TForm1, Form1);
Application.Run;

没有在实际编程实验,试一下吧,呵呵。
PYG19周年生日快乐!

该用户从未签到

发表于 2006-11-28 10:14:17 | 显示全部楼层
多谢了,有学习了一招。在次感谢ww-jack
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-1-11 16:24:33 | 显示全部楼层
多谢ww-jack和caterpilla (惊涛) 兄弟。
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表