请高手指点明意,在下很不解! ( 积分: 5 )

  • 主题发起人 主题发起人 zpselect
  • 开始时间 开始时间
Z

zpselect

Unregistered / Unconfirmed
GUEST, unregistred user!
1:定义一个枚举类型变量:
TBinParameterData = (bZrdw, bQddgznr, bAppendSub, bHszf, bAutoZchs, bInTimeSave,
bZyzf, bZyzfhz, bShowOpenProjectInfo, bShowDefaultCreateProjectSetupInfo);
2:定义一个指针记录类型
PParameterData = ^TParameterData;
TParameterData = record
aBinParameterData: array[TBinParameterData] of Boolean;
BinParameter: DWord;
end;
3:调用
if ParameterData^.aBinParameterData[bAppendSub] then
begin
.....
end;
第3句代码是什么意思?给得到什么结果?
 
你不是对第三句代码不懂,不懂了是aBinParameterData: array[TBinParameterData] of Boolean;
如果你理解了这里的意思就自然的明白调用啦。

首先 1 的枚举类型 相当于 bzrdw=0 bQddgznr=1 。。。。。。。。这是常识
然后 2 aBinParameterData: array[TBinParameterData] of Boolean;
当然就相当于aBinParameterData: array[0..9] of Boolean; 我没有仔细数 好像是到9
这样 3 就好理解了吧 ParameterData^.aBinParameterData[bAppendSub]
相当于ParameterData^.aBinParameterData[2]

但是这里对数组的访问你只能用TBinParameterData 类型的,这是因为pascal是通过类型名来进行类型验证的。
现在都明白了吧~~
 
aBinParameterData: array[0..9] of Boolean不是Boolean类型的么?那么0,1,2...?
 
如果不知道数组的类型和数组下标类型的区别,看看书吧。
最好还要看看枚举类型的实质,这在C语言的入门教材里面肯定有。
 
我现在不理解的是aBinParameterData: array[0..9] of Boolean是一个布尔类型的变量数组,而其值为0..9,请问怎么判断给出的值是否为布尔值?
 
我现在不理解的是aBinParameterData: array[0..9] of Boolean是一个而其值为0..9,?

你知道什么是数组,什么是boolean型的变量吗? 我真的怀疑你的语法水平,刚刚学计算机语言几个小时啦? 0..9那是数组的下标。

无知并不是个性。

我脾气不好,不会再回这个帖子了。
 
array[0..9] of Boolean 只是表示一个类型. 具有10个元素(值为boolean)的数组.0..9是在定义这个数组的下标范围,并不是该数组的值.
还有aBinParameterData: array[0..9] of Boolean 不是变量数组,而是具有10个元素的数组.如果是aBinParameterData: array of Boolean 才是变量数组,它的元素个数不确定.
 
ak_2004 漂亮!
 
谢谢你ak_2000,你今天帮我解答二个问题了!现在散分了!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
694
import
I
I
回复
0
查看
577
import
I
I
回复
0
查看
550
import
I
后退
顶部