欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Delphi-基础(例程、例程返回值)

程序员文章站 2022-03-10 12:46:18
一、例程:Delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式: 1、过程 2、函数 过程和函数的区别在于有没有返回值二、例程的作用 1、可以解决命名冲突问题 2、提高代码的重复使用率 3、提高代码可维护性三、使用历程 1、定义 1 procedure Demo1(); //过程 2 ......

一、例程:delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式:
  1、过程
  2、函数
  过程和函数的区别在于有没有返回值
二、例程的作用
  1、可以解决命名冲突问题
  2、提高代码的重复使用率
  3、提高代码可维护性
三、使用历程
  1、定义

1 procedure demo1();    //过程
2 begin
3 
4 end;

  函数的定义

 1 function demo2(var a : integer;var b : integer) : integer;  //函数
 2 begin
 3   writeln(a,',',b);
 4 end;
 5 
 6 {传递参数个数不固定(多个参数)}
 7 procedure  demo3(const num1 : array of integer);
 8 var
 9 x,y : integer;
10 begin
11 
12 end;

 

四、例程返回值

 1 {*------------------------------------------------------------------------------
2 一、什么是例程:delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式: 3 1、过程 4 2、函数 5 过程和函数的区别在于有没有返回值 6 二、例程的作用 7 1、可以解决命名冲突问题 8 2、提高代码的重复使用率 9 3、提高代码可维护性 10 三、怎么使用历程 11 1、定义 12 13 -------------------------------------------------------------------------------} 14 procedure demo1(a : integer;b : integer); //过程,传值 15 begin 16 writeln(a+b); 17 end; 18 19 {*------------------------------------------------------------------------------ 20 函数的定义 21 @return 22 -------------------------------------------------------------------------------} 23 function demo2(var a : integer;var b : integer) : integer; //过程,传地址 24 begin 25 writeln(a+b); 26 end; 27 28 {传递参数个数不固定(多个参数)} 29 procedure demo3(const intarray : array of integer); 30 var 31 i : integer; 32 begin 33 writeln('----------------------------'); 34 for i := low(intarray) to high(intarray) do begin 35 writeln(intarray[i],#$09); 36 end; 37 writeln('数组长度为:',length(intarray)); 38 end; 39 40 var 41 a,b : integer; 42 43 begin 44 a := 1; 45 b := 2; 46 demo1(a,b); 47 demo2(a,b); 48 demo3([4,6,9,7]);//数组传值 49 readln; 50 end.
 1 {返回值:通过引用获取运算结果}
 2 function sub1(num3 : integer;num4 : integer;var sum : integer) : integer;
 3 //var sum : integer 传入地址
 4 begin
 5   sum := num3 - num4;
 6   exit;
 7 end;
 8 
 9 var
10   sum1 : integer;
11 begin
12   sub1(5,3,sum1);
13   writeln(sum1);
14   readln;
15 end.
 1 {返回值:out}
 2 function mul(num5:integer;num6:integer;out sum:integer):integer;
 3 begin
 4   sum := num5 * num6;
 5   exit;
 6 end;
 7 var
 8   sum : integer;
 9 begin
10   mul(5,3,sum);
11   writeln(sum);
12   readln;
13 end.
1 {通过函数名称获取返回值}
2 function getresultbyfunname():integer;
3 begin
4   getresultbyfunname := 1+3;
5 end;
6 begin
7   writeln(getresultbyfunname());
8   readln;
9 end.
 1 {overload 函数重载:函数名相同,参数列表不同,使用关键字标识}
 2 function add(num1 : integer;num2 : integer;var sum : integer) : integer;  overload;
 3 begin
 4   sum := num1 + num2;
 5   exit;
 6 end;
 7 
 8 function add(num1 : double;num2 : double;out sum : double) : double; overload;
 9 
10 begin
11   sum := num1 + num2;
12   exit;
13 end;
14 
15 var
16 //  sum : integer;
17   sum : double;
18 begin
19 //  add(2,3,sum);
20   add(2.4,2.02132,sum);
21   writeln(sum);
22   readln;
23 end.
 1 {forward 前置声明}
 2 function divfun() : integer; forward;
 3 
 4 function milfun() : integer;
 5 begin
 6   divfun();
 7 end;
 8 
 9 function divfun() : integer;
10 begin
11   writeln('test');
12 end;
13 begin
14   milfun();
15   readln;
16 end.