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属性: 显示完窗体(关闭)后,会返回此属性预设的值做为 ...
随机推荐
- 自定义MVC二
1. 什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 它是一种软件设计典范,用一种业务逻辑.数据. ...
- xml的建模
xml建模的思路 1.分析需要被建模的文件中有那几个对象 2.每个对象拥有的行为以及属性 3.定义对象从小到大(从里到外) 4.通过23种的设计模式中的工厂模式,解析xml生产出指定对象 建模的好处 ...
- C# 内存管理(一)
引用地址:https://blog.csdn.net/libohuiyuan/article/details/81030010 一.变量类型 C#的变量类型分为值类型,引用类型.指针类型和指令类型.所 ...
- jwt, token, session和cookies
jwt token,session和cookies
- 2019 SDN上机第五次作业
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 实现将接收到的数据包发送到所有端口 控制器设定交换机 ...
- Luogu P5022 旅行
开始写复赛题了 先放张图纪念我惨烈的卡常之路 不说了,简直悲伤 题目链接 思路么..不想写了 Code //不要在意四十行超级加速,卡常用的 #include<bits/stdc++.h> ...
- 分布式共识算法 (四) BTF算法(区块链使用)
系列目录 分布式共识算法 (一) 背景 分布式共识算法 (二) Paxos算法 分布式共识算法 (三) Raft算法 分布式共识算法 (四) BTF算法 一.引子 前面介绍的算法,无论是 Paxos ...
- C++ 实现 查找进程, 杀死进程, 启动进程, 进程重启
头文件: #include <Windows.h>#include <tlhelp32.h>#include <tchar.h>#include <Shell ...
- [算法模版]Prim-完全图最小生成树
[算法模版]Prim-完全图最小生成树 众所周知,对于常用的Kruskal算法,算法复杂度为\(O(m \log m)\).这在大多数场景下已经够用了.但是如果遇到及其稠密的完全图,Prim算法就能更 ...
- R语言算法 ▪ 计算随意输入的两数之间的区域和
sumfu<-function(a,b,n=){ if(a<b){ for(i in a:b){n=n+i} }else for(i in b:a){n=n+i} return <- ...