关于delphi枚举类型的调用的问题?谢谢大家
type Minerals=(Ca,P,Mg,Cl,K,Na,Su,Co,Cu,I,Fe,Mn,Se,Zn,Mo,VitA,VitD,VitE);
这是一个枚举类型,我想在函数中调用枚举类型中某一个值(例如ca):
with ca do
end;
我想用枚举类型表示上面的语句怎么写?
with minerals(1) do
end; 可以这样吗?
没明白你的意思,我理解的with用法都是用在结构或者类中,你使用with 枚举变量 do的意义何在?
另外,对于枚举变量如果你确切知道其值,例如你例子中的Ca = 1,则使用minerals(1)表示Ca应该没有问题,不过你定义的枚举变量的名称太容易和变衫碰量重复,会引起不可预料的编或袭谈译错误,建议前面加上前缀码,比如:Ca -> Mini_Ca,I ->禅册 Mini_I等
如果在赋值中需要和Integer转换,还可以使用Ord函数,取得枚举变量在枚举序列中的位置信息,当然也可以强制转换。
type Minerals=(Ca,P,Mg,Cl,K,Na,Su,Co,Cu,I,Fe,Mn,Se,Zn,Mo,VitA,VitD,VitE);
var
//定义变量
temMinerals :Minerals;
begin
//赋值
temMinerals := Ca;
//判做尺断宏纯
if temMinerals =Ca then
begin
//...
showMessage('纯绝高Ca');
end else
begin
showMessage('xx')
//...
end;
end;
不可以
with minerals[1] do
end;