注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

Delphi中通用函数声明范例(不是类的方法)  

2013-02-18 00:18:25|  分类: 编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

注意本文中的函数均是全局函数,可供其他unit使用!

1、Delphi中的函数使用方法(在Application中):

unit Unit1;//单元文件名字

interface//接口

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

type//类型

  TForm1 = class(TForm)

    Label1: TLabel;

    procedure Label1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var  //声明

  Form1: TForm1;

  F:Function(x,y:Integer):Integer;//声明一个函数(或方法,函数有返回值,过程没有返回值)

  I:Integer;

implementation //实现

{$R *.dfm}

Function FunAdd(X,Y: Integer) : Integer;

begin

    Result := X+Y ; //函数的实现内容(Result为函数自定义的返回值,可以不用声明)

end;

//Label按钮的点击事件

procedure TForm1.Label1Click(Sender: TObject);

begin

  F:=FunAdd; //F函数变量指向自定义的函数FunAdd(),F就是C语言中的函数指针

If (assigned(F)) Then

begin

  I :=F(2,3);//assigned判断F函数是否为空

  ShowMessage(IntToStr(I));

end

else

  ShowMessage(?');

  Label1.Caption := IntToStr(I);//Label标签的显示值

end;

end.


2、Delphi中的过程使用方法(在控制台应用程序Console Application中):

program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

 var x,y:integer;//声明类型

//声明三个过程:Myproc1 Myproc2 Myproc13

procedure Myproc1(var Value:integer);//引用参数

begin

Value:=21;

end;

procedure MyProc2(const Value:integer);//常量参数

begin

//错误:对于常量参数而言,不允许在过程或函数中对常量参数赋新 值

//Value:=21;

end;

//使用默认参数有一项重要的限定:默认参数只能放在所有参数的最后

procedure MyProc3(I:integer;J:integer=3);//为参数设定默认值

begin

Writeln(j);

Writeln(' Result is '+IntToStr(I div J));//整除

end;

begin // program Project2

  { TODO -oUser -cConsole Main : Insert code here }

x:=10;

MyProc1(x);//调用过程

Writeln(x);//输出21

MyProc2(x);//调用过程

Writeln(x);//输出21

x:=1245108;

MyProc3(x,y);//调用过程MyProc3:输出1

x:=10;

MyProc3(x);//调用过程MyProc3:输出3

Readln;

end.


3、过程和函数的调用示例(在控制台应用程序Console Application中):

program Project1;

{$APPTYPE CONSOLE}

uses

  SysUtils;

var a,b:Integer;

//自定义过程

procedure sum(x:Integer;y:Integer);

var z:Integer;

begin

  z:=x+y;

  Writeln('两个数的和是:'+IntToStr(z));

end;

//自定义函数

function judge(x:Integer;y:Integer):Boolean ;

begin

  if (x<0) and (y<0) then

    Result:=False

  else

    Result:=True;

end;

begin  // Project1的begin

  { TODO -oUser -cConsole Main : Insert code here }

  a:=23;b:=-5;

  sum(a,b);

  if(judge(a,b)) then

    Writeln(a,'是正数')

  else

    writeln(a,'是负数');

  Readln;

end.


  评论这张
 
阅读(1745)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016