早教吧 育儿知识 作业答案 考试题库 百科 知识分享

delphi7自己定义的FUNCTION应该放在哪?unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForm1=class(TForm)Edit1:TEdit;Edit2:TEdit;Label1:TLabel;Button1:TButton;procedureButton

题目详情
delphi7 自己定义的FUNCTION应该放在哪?
unit Unit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForm1 = class(TForm)
Edit1:TEdit;
Edit2:TEdit;
Label1:TLabel;
Button1:TButton;
procedure Button1Click(Sender:TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
FUNCTION MYSTR(var num1,num2:integer):integer;
var
pf,mysum,num1,num2:integer;
begin
pf:=num2*5;
mysum:=num1+pf;
mystr:=mysum;
end
var
Form1:TForm1;
implementation
{$R *.dfm}
end;
procedure TForm1.Button1Click(Sender:TObject);
begin
label1.Caption:=mystr(edit1.Text,edit2.Text);
end;
end.
这里有一个自定义的FUNCTION,但是运行的时候总出错,不知道FUNCTION应该放在什么位置,随便就放了一个位置(运行时是提示错误的),请问大侠们,我应该把FUNCTION放在哪里才能使代码正确的运行呢!
上面的FUNCTION是不是有错误啊?
请大人们指正!
▼优质解答
答案和解析
你的函数写的有问题啊~函数参数是num1,num2,那你怎么还在过程中定义num1,num2呢?还有你调用也有问题啊!label1.Caption:=mystr(edit1.Text,edit2.Text); 你自己定义函数返回值和参数都是整形,你调用使用的字符串类型,你把函数返回值赋给label1.Caption也不对啊~他不是整形啊
你写好函数声明部分写在 private或者public下都行
type
TForm1 = class(TForm)
Edit1:TEdit;
Edit2:TEdit;
Label1:TLabel;
Button1:TButton;
procedure Button1Click(Sender:TObject);
private
{ Private declarations }
//添加函数声明
public
{ Public declarations }
//添加函数声明
end;
添加好函数声明后,将光标放到函数声明上,按下“Ctrl+Shift+C”这样delphi自动为你生成函数定义部分框架,你在begin end;中添加代码即可