16,742
社区成员
发帖
与我相关
我的任务
分享unit button;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
function GetFileCount(srcPath, srcFileName: string): Integer;
var
FileRec: TSearchrec;
currPath: string;
begin
if srcPath[Length(srcPath)] <> '\' then srcPath := srcPath + '\';
currPath := srcPath + '*.*';
Result := 0;
if FindFirst(currPath, faAnyFile, FileRec) = 0 then
repeat
if ((FileRec.Attr and faDirectory) <> 0) and
(FileRec.Name <> '.') and
(FileRec.Name <> '..') then
begin
Result := Result + GetFileCount(srcPath + FileRec.Name, srcFileName);
end else
if AnsiCompareText(srcFileName, FileRec.Name) = 0 then
Result := Result + 1;
until FindNext(FileRec) <> 0;
end;
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption :=function GetFileCount;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
label1.caption:='333333'
end;
end. 在button上如何调用GetFileCount这个函数过程procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=GetFileCount('I:', '1.txt');
showmessage('有'+inttostr(n)+'个同名文件');
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function GetFileCount(srcPath, srcFileName: string): Integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.GetFileCount(srcPath, srcFileName: string): Integer;
var FileRec: TSearchrec;
currPath: string;
begin
if srcPath[Length(srcPath)] <> '\' then srcPath := srcPath + '\';
currPath := srcPath + '*.*';
Result := 0;
if FindFirst(currPath, faAnyFile, FileRec) = 0 then
repeat
if ((FileRec.Attr and faDirectory) <> 0) and
(FileRec.Name <> '.') and
(FileRec.Name <> '..') then
begin
Result := Result + GetFileCount(srcPath + FileRec.Name, srcFileName);
end
else
if AnsiCompareText(srcFileName, FileRec.Name) = 0 then
Result := Result + 1;
until FindNext(FileRec) <> 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=GetFileCount('c:', 'cmd.exe');
showmessage('有'+inttostr(n)+'个同名文件');
end;
end.
不明觉厉,直接调用不就好了么,感觉好像是来搅乱的。。。
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption :=function GetFileCount;
end;
改成
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption :=inttostr(GetFileCount);
end;