• Delphi 系统[10]关键字和保留字 with


    Delphi 系统[10]关键字和保留字  with

    1、定义:

    with语句是引用记录的字段或对象的字段、属性和方法的缩写/简化。

    2、语法:

    with obj do statement
    with obj1, ..., objn do statement

    其中,obj是一个表达式,产生对记录、对象实例、类实例、接口或类类型(元类)实例的引用,语句是任何简单或结构化语句。在语句中,您可以仅使用obj的标识符引用其字段、属性和方法,而不使用限定符。  

    3、示例:

    //例如:以下申明
    type TDate = record
      Day: Integer;
      Month: Integer;
      Year: Integer;
    end;
    var OrderDate: TDate;
    
    //可以用下面的语句来写:
    with OrderDate do
      if Month = 12 then
      begin
        Month := 1;
        Year := Year + 1;
      end
      else
        Month := Month + 1;
    
    //也相当于
    if OrderDate.Month = 12 then
    begin
      OrderDate.Month := 1;
      OrderDate.Year := OrderDate.Year + 1;
    end
    else
      OrderDate.Month := OrderDate.Month + 1;
    

    如果obj的解释涉及索引数组或取消引用指针,则在执行语句之前,这些操作只执行一次。这使得语句既高效又简洁。这也意味着在with语句当前执行期间,对语句内变量的赋值不能影响obj的解释。

    with语句中的每个变量引用或方法名都将被解释为指定对象或记录的成员(如果可能)。如果要从with语句访问另一个同名变量或方法,则需要在其前面加上限定符,如以下示例所示:

    with OrderDate do
      begin
        Year := Unit1.Year
        ...
      end;
    

    当with之后出现多个对象或记录时,整个语句将被视为一系列嵌套with语句。因此 使用obj1、obj2、…、objn do语句相当于:

    with obj1 do
    	  with obj2 do
    	     ...
    	     with objn do
    	statement

    在这种情况下,语句中的每个变量引用或方法名都被解释为objn的一个成员(如果可能);否则,如有可能,将其解释为objn-1的成员;等等同样的规则也适用于解释 objs 本身,因此,例如,如果objn同时是obj1和obj2的成员,则将其解释为obj2.objn。

      

    创建时间:2021.08.11  更新时间:

    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你所有帮助,谢谢!
  • 相关阅读:
    【DOM编程艺术】positionMessage函数和moveMessage函数
    Javascript中setTimeout和setInterval的区别和使用
    添加数据时候获取自增的ID
    字符串入门 大纲
    字符串入门练习题10 星球语言的翻译 题解
    字符串入门练习题9 聊天室 题解
    字符串入门练习题8 大小写转换密码锁 题解
    字符串入门练习题7 男孩或者女孩 题解
    字符串入门练习题6 字符串加密 题解
    字符串入门练习题5 有用的数学 题解
  • 原文地址:https://www.cnblogs.com/guorongtao/p/15128439.html
Copyright © 2020-2023  润新知