Delphi声明Record变量后直接初始化

 TARec = record
    A1: string;
    A2: string;
  end;

  TBRec = record
    A1: string;
    A2: string;
    ARec: TARec;
  end;

  PAppWindow = ^TAppWindow;
  TAppWindow = Record
    Width, Height : Integer;
    CaptionBarHeight : Integer;
  end;

var
  FARec: TARec = (A1: ''; A2: '');
  BRec: TBRec = (A1: ''; A2: ''; ARec: (A1: ''; A2: ''));
  i: Integer = 100;

  Window : TAppWindow = (Width:800; Height:600; CaptionBarHeight:26);

全局变量可以直接初始化,但是局部变量不允许。

转载于:https://www.cnblogs.com/yzryc/p/6292706.html

Delphi编程语言中,初始化变量的方式取决于变量类型和上下文。Delphi提供了几种不同的初始化方法,包括使用类型构造函数、直接赋值以及利用对象生命周期特性。以下是一些常见的初始化变量的方法: 1. 使用类型构造函数:Delphi允许你为你的类定义一个构造函数,通常名为Create,用于初始化类的实例。当创建类的实例时,可以使用这个构造函数进行变量初始化。 ```pascal type TMyClass = class private FValue: Integer; public constructor Create(AValue: Integer); end; constructor TMyClass.Create(AValue: Integer); begin FValue := AValue; end; var myObject: TMyClass; begin myObject := TMyClass.Create(10); // myObject.FValue 已经被初始化为 10 end; ``` 2. 直接赋值:对于简单的变量类型,可以直接声明时或者在声明之后进行赋值。 ```pascal var MyInteger: Integer; // 声明一个整型变量 begin MyInteger := 0; // 初始化为0 end; ``` 3. 使用对象生命周期特性:Delphi 的对象和类的实例在创建时会自动调用构造函数(如果有定义),并且在对象不再使用时自动调用析构函数进行清理。这意味着如果你在对象的构造函数中初始化了成员变量,那么当对象被创建时,这些成员变量也会被相应地初始化。 ```pascal type TMyClass = class private FValue: Integer; public constructor Create; end; constructor TMyClass.Create; begin inherited; // 调用基类构造函数 FValue := 0; // 初始化成员变量 end; var myObject: TMyClass; begin myObject := TMyClass.Create; // 创建对象时,FValue被初始化为0 end; ``` 4. 使用var关键字声明局部变量:对于局部变量,可以在过程或函数内部使用var关键字声明,并在声明的同时进行初始化。 ```pascal procedure DoSomething; var MyInteger: Integer = 0; // 局部变量声明初始化 begin // 在这里使用MyInteger end; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值