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 返回的结果也会改变。