Delphi-基础(例程、例程返回值)
一、例程:Delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式:
1、过程
2、函数
过程和函数的区别在于有没有返回值
二、例程的作用
1、可以解决命名冲突问题
2、提高代码的重复使用率
3、提高代码可维护性
三、使用历程
1、定义
procedure Demo1(); //过程
begin end;
函数的定义
function Demo2(var a : Integer;var b : Integer) : Integer; //函数
begin
Writeln(a,',',b);
end; {传递参数个数不固定(多个参数)}
procedure Demo3(const num1 : array of Integer);
var
X,Y : Integer;
begin end;
四、例程返回值
1 {*------------------------------------------------------------------------------
2 一、什么是例程:Delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式:
1、过程
2、函数
过程和函数的区别在于有没有返回值
二、例程的作用
1、可以解决命名冲突问题
2、提高代码的重复使用率
3、提高代码可维护性
三、怎么使用历程
1、定义
-------------------------------------------------------------------------------}
procedure Demo1(a : Integer;b : Integer); //过程,传值
begin
Writeln(a+b);
end;
{*------------------------------------------------------------------------------
函数的定义
@return
-------------------------------------------------------------------------------}
function Demo2(var a : Integer;var b : Integer) : Integer; //过程,传地址
begin
Writeln(a+b);
end;
{传递参数个数不固定(多个参数)}
procedure Demo3(const IntArray : array of Integer);
var
I : Integer;
begin
Writeln('----------------------------');
for I := Low(IntArray) to High(IntArray) do begin
Writeln(IntArray[I],#$);
end;
Writeln('数组长度为:',Length(IntArray));
end;
var
a,b : Integer;
begin
a := ;
b := ;
Demo1(a,b);
Demo2(a,b);
Demo3([,,,]);//数组传值
Readln;
end.
{返回值:通过引用获取运算结果}
function Sub1(Num3 : Integer;Num4 : Integer;var sum : Integer) : Integer;
//var sum : Integer 传入地址
begin
sum := Num3 - Num4;
Exit;
end;
var
Sum1 : Integer;
begin
Sub1(,,Sum1);
Writeln(Sum1);
Readln;
end.
{返回值:out}
function mul(Num5:Integer;Num6:Integer;out sum:Integer):Integer;
begin
sum := Num5 * Num6;
Exit;
end;
var
sum : Integer;
begin
mul(,,sum);
Writeln(sum);
Readln;
end.
{通过函数名称获取返回值}
function GetResultByFunName():Integer;
begin
GetResultByFunName := +;
end;
begin
Writeln(GetResultByFunName());
Readln;
end.
{overload 函数重载:函数名相同,参数列表不同,使用关键字标识}
function Add(Num1 : Integer;Num2 : Integer;var sum : Integer) : Integer; overload;
begin
sum := Num1 + Num2;
Exit;
end;
function Add(Num1 : Double;Num2 : Double;out sum : Double) : Double; overload;
begin
sum := Num1 + Num2;
Exit;
end;
var
// sum : Integer;
sum : Double;
begin
// Add(2,3,sum);
Add(2.4,2.02132,sum);
Writeln(sum);
Readln;
end.
{forward 前置声明}
function DivFun() : Integer; forward;
function MilFun() : Integer;
begin
DivFun();
end;
function DivFun() : Integer;
begin
Writeln('test');
end;
begin
MilFun();
Readln;
end.
Delphi-基础(例程、例程返回值)的更多相关文章
- Python3基础 函数 未指定返回值,返回NONE
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- IRP完成例程返回值理解
第一,完成例程里面直接返回STATUS_SUCCESS,这时候IRP已经继续向上回卷,失去了对IRP的控制. 第二,完成例程里面返回STATUS_MORE_PROCESSING_REQUIRED,仍具 ...
- SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】
定义 可以使用例程定义关键值或特性的复杂的转换规则. 例程是本地 ABAP 类,它们包括预定义的定义和实施范围.进站和出站参数的 TYPES及方法签名都存储在定义范围中.实际例程创建于实施范围中.使用 ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- Delphi函数的返回值(注意这里与C/C++等语言有差异)
在C/C++等语言中,函数执行到 return 部分之后,将立即停止函数的执行,并返回值 但是在Delphi中不同 函数中,执行到result时,并不同于比如 C/C++ 中的 return,跳出函数 ...
- Delphi检查GetElementByID返回值的有效性
Delphi 可以像JavaScript 脚本语言一样使用GetElementByID方法访问网页中指定ID的元素,一般要配合TWebBrowser组件使用.首先使用TWebBrowser浏览网页,然 ...
- 终于懂了:Delphi消息的Result域出现的原因——要代替回调函数的返回值!(MakeObjectInstance不会帮助处理(接收)消息回调函数的返回值)
MakeObjectInstance应该不会帮助处理(接收)消息回调函数的返回值,可是有时候又确实需要这个返回值,这可怎么办呢?我是看到这段文字的时候,想到这个问题的: 当WM_PAINT不是由Inv ...
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...
- Delphi 模式窗体返回值ModalResult的使用方法及注意事项(转)
1.基础知识简介: ModalResult是指一个模式窗体(form.showmodal)的返回值,一般用于相应窗体上按钮的ModalResult属性: 显示完窗体(关闭)后,会返回此属性预设的值做为 ...
随机推荐
- 【cf741】D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree)
传送门 题意: 给出一颗以\(1\)为根的有根树,树边带有一个字符(\(a\)~\(v\))的信息. 输出对于每个结点,其子树内最长的简单路径并且满足边上的字符能够组成回文串. 思路: 显然最终的答案 ...
- DRF视图功能介绍(2)
本帖最后由 杰哥,我就服你 于 2018-12-20 13:22 编辑 Django rest framework(DRF) D:是一个用于构建Web API强大又灵活的框架,基于Django框架二次 ...
- 【西北师大-2108Java】第四次作业成绩汇总
[西北师大-2108Java]第四次作业成绩汇总 深入理解程序设计中算法与程序的关系: 深入理解java程序设计中类与对象的关系: 理解OO程序设计的第2个特征:继承.多态: 学会采用继承定义类设计程 ...
- 【转】java爬虫,爬取当当网数据
背景:女票快毕业了(没错!我是有女票的!!!),写论文,主题是儿童性教育,查看儿童性教育绘本数据死活找不到,没办法,就去当当网查询下数据,但是数据怎么弄下来呢,首先想到用Python,但是不会!!百 ...
- opencv 截取任意四边形区域的图像
截取任意四边形区域的图像. mask就是结果. 需要定义四边形区域,分别是 tl, tr, bl, br std::map<int, std::set<int>> genera ...
- MongoDB Java(七)
在 Java 程序中如果要使用 MongoDB,你需要确保已经安装了 Java 环境及 MongoDB JDBC 驱动. mongodb-driver jar 下载地址:http://central. ...
- 鲜贝7.3--navicat破解
Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1yy5JkrXk5NV129wzkzntqw 提取码:htc2 1.安装Navicat ...
- 开发者必备Linux命令
开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6. 系统服务管理 systemctl 输出系统中各个服务的状态: systemctl list-units --type= ...
- Nginx的性能优化方案
nginx的优化 . gzip压缩优化 . expires缓存有还 . 网络IO事件模型优化 . 隐藏软件名称和版本号 . 防盗链优化 . 禁止恶意域名解析 . 禁止通过IP地址访问网站 . HTTP ...
- 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)
本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...