Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Data.DB, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids; TFormloopInfo = class(TForm) Panel1: TPanel; DBGrid1: TDBGrid; Label1: TLabel; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } FormloopInfo: TFormloopInfo; deviceId:integer = -1;//在这里初始化并赋值 implementation {$R *.dfm} uses UnitMain,UnitDataModule;


注意:在声明时初始化的方法只适用于全局变量,这点在Delphi的代码标准文档里可以找到。
[4). 变量
(1). 局部变量
局部变量用于过程内部,果需要的话,应当在过程的入口处立即初始化变量。局部的AnsiString 类型的变量自动被初始化为空字符串,局部的接口和dispinterface类型的变量自动被初始化为nil,局部的Variant和 OleVariant类型的变量自动被初始化为Unassigned。
(2). 全局变量
一般不鼓励使用全局变量。不过,有时候需要用到。即使如此,也应当把全局变量限制在需要的环境中。例如,一个全局变量可能只在单元的实现部分是全局的。
全局数据如果将由许多单元使用,就应移动到一个公用单元里被所有对象使用。全局数据可在声明时直接初始化为一个值。注意,所有全局变量自动进行零初始化,因此,不要将全局变量初始化为诸如0 、nil、或Unassigned等空值。零初始化的全局变量在.EXE文件中不占空间。零初始化的数据保存在虚拟的数据段中,而虚拟数据段只在应用程序启动时才分配内存。非零初始化的全局数据则在.EXE文件中占空间。

unit UnitloopInfo;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Data.DB, V...
Delphi 10.3 Rio 将在语言中添加内联 变量 。Marco 在介绍该概念的博客文章中提到了各 种好处(http://blog.marcocantu.com/blog/2018-october-inline-variables- delphi .html),此外,内 联 变量 还可以潜在地提高代码的性能。
dctb:array[1..2,1..38] of Single=((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) );...
1、 Delphi 提供对常量数组的简单 初始化 方法如下: const arrByte: Array[0..2] of byte =(112,32,55); 2、如果想对 变量 数组进行 初始化 ,可以先声明常量数组,然后,对 变量 数组进行 赋值 即可: procedure AssignArr; arrMyByte: Array[0..2] of by... Devicetype : array[0..16] of string = ('未知类型', //0 'IIEC-500X 通用IIEC控制器', //1 'IIEC-A8 模拟量专用IIEC控制器', //2
Delphi 默认 初始化 变量 是:全局 变量 ,类成员;函数体内的 变量 不会 初始化 : 全局 变量 Delphi 编译器自动对全局 变量 赋初值。当程序开始时,所有的整数赋为0,浮点数赋为0.0,指针为null,字符串为空。 因此,在源代码中不必对全局 变量 赋其默认初值. 函数体内的 变量 不会 初始化 :局部 变量 中的值不确定,随机的。包括随机指向一个地址,指针不为nil
Delphi 中的匿名函数可以捕获外部 变量 ,这些 变量 可以是常量、局部 变量 或者是对象的成员 变量 。在匿名函数中,可以直接访问这些 变量 ,就像访问本地 变量 一样。如果这些 变量 是引用类型,那么匿名函数也可以修改它们的值。以下是一个示例代码: x: Integer; f: TFunc<Integer>; begin x := 10; f := function: Integer begin Result := x * 2; x := 20; Writeln(f()); // 输出 20 在这个例子中,匿名函数 f 捕获了外部 变量 x,当 x 的值改变时,f 返回的结果也会改变。