一、例程: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-基础(例程、例程返回值)的更多相关文章

  1. Python3基础 函数 未指定返回值,返回NONE

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. IRP完成例程返回值理解

    第一,完成例程里面直接返回STATUS_SUCCESS,这时候IRP已经继续向上回卷,失去了对IRP的控制. 第二,完成例程里面返回STATUS_MORE_PROCESSING_REQUIRED,仍具 ...

  3. SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】

    定义 可以使用例程定义关键值或特性的复杂的转换规则. 例程是本地 ABAP 类,它们包括预定义的定义和实施范围.进站和出站参数的 TYPES及方法签名都存储在定义范围中.实际例程创建于实施范围中.使用 ...

  4. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  5. Delphi函数的返回值(注意这里与C/C++等语言有差异)

    在C/C++等语言中,函数执行到 return 部分之后,将立即停止函数的执行,并返回值 但是在Delphi中不同 函数中,执行到result时,并不同于比如 C/C++ 中的 return,跳出函数 ...

  6. Delphi检查GetElementByID返回值的有效性

    Delphi 可以像JavaScript 脚本语言一样使用GetElementByID方法访问网页中指定ID的元素,一般要配合TWebBrowser组件使用.首先使用TWebBrowser浏览网页,然 ...

  7. 终于懂了:Delphi消息的Result域出现的原因——要代替回调函数的返回值!(MakeObjectInstance不会帮助处理(接收)消息回调函数的返回值)

    MakeObjectInstance应该不会帮助处理(接收)消息回调函数的返回值,可是有时候又确实需要这个返回值,这可怎么办呢?我是看到这段文字的时候,想到这个问题的: 当WM_PAINT不是由Inv ...

  8. Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...

  9. Delphi 模式窗体返回值ModalResult的使用方法及注意事项(转)

    1.基础知识简介: ModalResult是指一个模式窗体(form.showmodal)的返回值,一般用于相应窗体上按钮的ModalResult属性: 显示完窗体(关闭)后,会返回此属性预设的值做为 ...

随机推荐

  1. python的gRPC示例

    参考URL: https://segmentfault.com/a/1190000015220713?utm_source=channel-hottest gRPC 是一个高性能.开源和通用的 RPC ...

  2. Django Form 内置字段

    常用字段: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 ...

  3. pandas-缺失值处理

    import pandas as pd import numpy as np Step 1.加载数据集 # header=0以第一行作为列名 tip = pd.read_csv("lianx ...

  4. ASP.NET Core快速入门(第2章:配置管理)- 学习笔记(转载)

    原文地址:https://mp.weixin.qq.com/s?__biz=MjM5NjMzMzE2MA==&mid=2451733443&idx=2&sn=6d01721c5 ...

  5. iOS应用卡顿分析

    1.屏幕显示图像的原理 显示器按照从上到下的方式,一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描.为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬 ...

  6. Python连载34-信息队列

    一.生产者消费者模型 1.一个模型.可以用来搭建消息队列:queue是一个用来存放变量的数据结构,特点是:先进先出 import threading import time import queue ...

  7. docker入门与部署微服务--学习笔记

    最近公司进一步去windows,走向 linux+云化. 原来的一大坨windows虚拟机服务器都要转向linux, 既然走向linux的话,那么docker肯定是要涉足的. 故学习了docker入门 ...

  8. Java使用路径通配符加载Resource与profiles配置使用

    序言 Spring提供了一种强大的Ant模式通配符匹配,能从一个路径匹配一批资源. Ant路径通配符 Ant路径通配符支持“?”.“*”.“**”,注意通配符匹配不包括目录分隔符“/”: “?”:匹配 ...

  9. 基于kafka_2.11-2.1.0实现的生产者和消费者代码样例

    1.搭建部署好zookeeper集群和kafka集群,这里省略. 启动zk: bin/zkServer.sh start conf/zoo.cfg. 验证zk是否启动成功: bin/zkServer. ...

  10. WPF ValidationRules(MVVM 数据验证)

    对于WPF中的验证, View验证实现起来很简单, 可以通道 Validation.ErrorEvent 冒泡传递到View的逻辑树上, 只是, 通常这样做的情况下, 我们需要为View添加事件代码监 ...