zoukankan      html  css  js  c++  java
  • 函数(functions)和过程(procedures)【一】

    函数过程是独立于主程序的代码段,在程序中,当需要完成一些特定动作时,这些代码段就会被执行。在整个程序中可以任意次调用这些函数。

    Delphi中的例程有两种形式:过程(procedures)函数(functions)

    过程是你要求计算机执行的操作;函数是能返回值的计算。两者突出的不同点在于函数能返回计算结果,即有一个返回值,而过程没有。

    通过编写一个函数的范例,先来大概了解了解。

    1、新建一个Application

    2、Form1窗体上放置一个Button组件(btn1)和一个Label组件(lbl1),如下图:

    0036

    3、Code Editor中的implementation段中输入下面的代码:

    ...
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure SayHello;
    begin
      ShowMessage('Hello, World');
    end;
    
    function Multiply(Num1, Num2: Integer): Integer;
    begin
      Result := Num1 * Num2;
    end;
    
    end.

    4、然后在Form Designer中双击btn1建立一个OnClick事件处理程序,输入如下代码:

    procedure TForm1.btn1Click(Sender: TObject);
    var
      X: Integer;
    begin
      X := Multiply(10, 20);       //调用Multiply函数,返回10*20的结果给X
      lbl1.Caption := IntToStr(X); //在label标签中显示结果200
      SayHello;                    //调用SayHello过程
    end;

    5、运行程序F9并点击按钮,结果中标签将变为200,并显示Hello, World对话框信息,结果如下:

    0037

    6、其整个工作流程如下:

    当点击按钮后,调用btn1Click事件处理程序,这样就会继续Multiply函数,并以10和20为传递参数,结果放在X变量中,并在lbl1标签中显示出来。

    7、每一个函数都有一个名为Result的局部变量,这个变量时由编译器以不可视方式加以声明,并且它是用来保存函数的返回值,因此为了从函数中返回一个指定的值,只需要把这个值赋值给函数中的Result变量即可。

    8、函数的调用有多种方法,传递的变量可以是直接的数值,也可以是其他函数调用结果,以下都是正确的调用形式:

      X := Multiply(2, 5);  { 直接传递数值}
      X := Multiply(A, B);  { 传递变量A和B}
      lbl1.Caption := IntToStr(Multiply(X, Y)); { 返回值用作另一个函数的参数}
      Multiply(X, Y); { 返回值无效}

    Tip

    • 只要在程序中多次重复使用一段代码,就可以把这段代码移到一个子程序中。这样在程序中需要这段代码的地方都就可以调用此子程序。
    • 如果不需要返回值,函数也可以当做过程一样调用。
    • 当函数和过程没有参数时,可以直接使用名字调用,而不需要加“()”这个空括号。如例子中的SayHello调用。
  • 相关阅读:
    微信公众号Markdown编辑器, 适合代码排版
    Java8-如何构建一个Stream
    Java8-Stream之数值流
    Java8学习(4)-Stream流
    Dubbo学习1-Hello world
    深入理解JVM垃圾收集机制(JDK1.8)
    持久层框架JPA与Mybatis该如何选型
    淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣
    Apache Tomcat下载、安装、配置图文教程
    IIS8.0 配置应用程序初始化功能
  • 原文地址:https://www.cnblogs.com/pchmonster/p/2296323.html
Copyright © 2011-2022 走看看