delphi中函数的声明和调用是什么意思?
初学Delphi,经常看到资料上写声明一个什么什么函数,然后怎样怎样调用,我不知道声明函数是在干什么,怎么声明,又怎么调用呢,而且声明函数的位置是否唯一?我看到有的说在t...
初学Delphi,经常看到资料上写声明一个什么什么函数,然后怎样怎样调用,我不知道声明函数是在干什么,怎么声明,又怎么调用呢,而且声明函数的位置是否唯一?我看到有的说在type下面,有的在{$R *.dfm}下面,这是怎么回事?希望高手指点一下,最好能帮我举个小例子,谢谢。
展开
4个回答
展开全部
都可以的
就纯单元文件而言(不是窗体的pas)
举例
unit Global;
interface
uses
Windows,Forms,Dialogs,SysUtils,DB, ADODB;
Function Connection:Integer; //申明一个连接数据库函数
var
AppConfig:TIniFile; //配置文件读 0写对象
implementation
function readconfig:boolean;
begin
读取数据库配置文件
end;
Function Connection:Integer; // 连接数据库函数的具体实现
Begin
if readconfig then
begin
连接数据库代码
end
else
begin
showmessage('读取配置文件失败');
end;
end;、
里面有2个函数 Connection就是在type下 readconfig就是在implementation下
区别就是Connection这样申明可以被其他单元条用 而 readconfig就只能被它下面的代码和函数条用。
因为这个是纯pas文件 所以没有{$R *.dfm}
如果是在窗体的pas里
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
私有函数可以声明在这儿 只能被本pas调用
public
公有函数可以声明在这儿 可以被其他pas调用
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
局部函数可以声明在这儿。可以被以下的函数调用
以上说明2种pas 调用方式 前者只要引用pas 然后直接执行Connection即可
而后者因为函数式属于TForm1 这个类下面的 所以调用要引用这个单元文件后
执行 Form1.函数名 例如 form1.sss;
另外还可以在函数内部再声明函数‘
例如 过程sss内部还有个getid函数 只能被sss里面的代码调用
procedure TForm1.sss;
function getid:integer;
begin
result:=111;
end;
var
k:integer;
begin
k:=1;
showmessage(inttostr(getid+k));
end;
就纯单元文件而言(不是窗体的pas)
举例
unit Global;
interface
uses
Windows,Forms,Dialogs,SysUtils,DB, ADODB;
Function Connection:Integer; //申明一个连接数据库函数
var
AppConfig:TIniFile; //配置文件读 0写对象
implementation
function readconfig:boolean;
begin
读取数据库配置文件
end;
Function Connection:Integer; // 连接数据库函数的具体实现
Begin
if readconfig then
begin
连接数据库代码
end
else
begin
showmessage('读取配置文件失败');
end;
end;、
里面有2个函数 Connection就是在type下 readconfig就是在implementation下
区别就是Connection这样申明可以被其他单元条用 而 readconfig就只能被它下面的代码和函数条用。
因为这个是纯pas文件 所以没有{$R *.dfm}
如果是在窗体的pas里
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
私有函数可以声明在这儿 只能被本pas调用
public
公有函数可以声明在这儿 可以被其他pas调用
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
局部函数可以声明在这儿。可以被以下的函数调用
以上说明2种pas 调用方式 前者只要引用pas 然后直接执行Connection即可
而后者因为函数式属于TForm1 这个类下面的 所以调用要引用这个单元文件后
执行 Form1.函数名 例如 form1.sss;
另外还可以在函数内部再声明函数‘
例如 过程sss内部还有个getid函数 只能被sss里面的代码调用
procedure TForm1.sss;
function getid:integer;
begin
result:=111;
end;
var
k:integer;
begin
k:=1;
showmessage(inttostr(getid+k));
end;
展开全部
delphi采用PASCAL语言,它是一个与C语言类似的语言,是一个规范化的语言,它要求任何变量都必须先声明、定义,再使用。所以任何函数也都是先声明、创建,在被调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数声明一般是声明外部的函数,一般是来用调用外部的库文件,位置可以是implementation之前或者之后
type主要是类或者类型的定义关键字,
{$R *.dfm}其中 {$R} 是一个编译指令, 用来链接资源文件的
例:
type
TAAAA = class
private
procedure Setxxx(Value: Integer);
end;
type主要是类或者类型的定义关键字,
{$R *.dfm}其中 {$R} 是一个编译指令, 用来链接资源文件的
例:
type
TAAAA = class
private
procedure Setxxx(Value: Integer);
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询