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属性: 显示完窗体(关闭)后,会返回此属性预设的值做为 ...
随机推荐
- 1. Go语言—初始
一.golang语言特性 1. 垃圾回收 内存自动回收,再也不需要开发人员管理内存 开发人员专注业务实现,降低了心智负担 只需要new分配内存,不需要释放 2. 天然并发 从语言层面支持并发,非常简单 ...
- drf框架知识总结
- pwn-pwn2
环境说明 Ubuntu 16.04 pwntool IDA gdb-peda 先丢到Ubuntu看看文件的类型 64位 然后看看保护机制,发现没有保护机制 然后丢到IDA看看 F5查看伪代码 ma ...
- calcifications loss
import keras import tensorflow as tf from keras.models import Model from keras import backend as K # ...
- 第七周第二次Scrum会议
工作: 根据上个周对前端的布置学习,布置大家开发了相应的界面.(界面开发成果写在测试报告) 地点: 二餐二 会议照片: 忘记拍了... 核心问题: 如何编写统一风格的前端界面. 解决: 将相应资源打包 ...
- 洛谷 P4316 绿豆蛙的归宿
洛谷 P4316 绿豆蛙的归宿 洛谷传送门 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度, ...
- ResultMap(还没细看)
前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而res ...
- Python paramiko 报错 paramiko.ssh_exception.SSHException: not a valid RSA private key file
报错的原因是选择的文件不是一个有效的 RSA 密钥文件 现在通过 ssh-keygen 默认生成的密钥文件是新的格式,并非 RSA 格式.打开文件可以看到是以 -----BEGIN OPENSSH P ...
- oracle用户管理, 授权与回收权限
一. 用户管理参数, 0.删除用户: drop user 用户名 [cascade] 当我们删除用户时, 如改用户已创建过数据对象, 那么删除用户时必须加cascade参数, 用来同步删除 改用户的所 ...
- TP5 使用验证码功能
工作中后台开发使用的是 TP5,但是对语法不是很熟悉,总是看着手册写代码.当时做 Java 的时候也是这样,很多语法需要靠百度.不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天 ...