zoukankan      html  css  js  c++  java
  • Handbook之007:提前声明函数

    如果程序 A 调用程序 B,而程序 B 又调用程序 A,当我们开始撰写这
    个程序代码的时候,我们等于是在呼叫一个编译程序还没看到的程序。
     
    在这个情形下(还有很多情形也会有类似的情况发生),我们可以先宣告一个
    函式或者程序, 把完整的名称、 参数都宣告好, 但不用提供完整的程序代码。
    要做到这一点,我们只要把完整的程序或函数名称宣告写好,最后加上一个
    forward 关键词即可

    image

    unit Unit1;
    
    interface
    
    uses
      Winapi.Windows,
      Winapi.Messages,
      System.SysUtils,
      System.Variants,
      System.Classes,
      Vcl.Graphics,
      Vcl.Controls,
      Vcl.Forms,
      Vcl.Dialogs,
      Vcl.StdCtrls;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure DoubleHello; forward; //forward为提前引用
    
    procedure NewHello;
    begin
      if MessageDlg('弹出选择对话框', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mrYes then
        DoubleHello
      else
        ShowMessage('Hello');
    end;
    
    procedure DoubleHello;
    begin
      NewHello;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DoubleHello;
    end;
    
    end.
  • 相关阅读:
    springSecurity登陆与退出json形式交互
    SQL-Mysql表结构操作
    SQL-Mysql数据类型
    SQL-SQL事物操作
    springboot之Validation参数校验
    springSecurity之java配置篇
    springsecurity入门篇
    springboot集成shiro
    13个不low的JS数组操作
    基于canvas的五子棋
  • 原文地址:https://www.cnblogs.com/GodPan/p/4904999.html
Copyright © 2011-2022 走看看