再加一百分!如何得到枚举类型内容的长度,如 tGetData(gdInteger,gdFloat) 得到 结果 2(100分)

  • 主题发起人 主题发起人 阿梁
  • 开始时间 开始时间

阿梁

Unregistered / Unconfirmed
GUEST, unregistred user!
如何得到枚举类型内容的长度,如 tGetData(gdInteger,gdFloat) 得到 结果 2


若知答案 同以下问题的分一起奉上:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=623778
 
我个人认为枚举类型是整型,其值就是定义时的顺序,如

enum week {mon,tue...}

week=mon和week=0是一样的吧

 
请参阅Delphi文档之TypeInfo.pas
 
~~~~~~请参阅Delphi文档之TypeInfo.pas

更正一下,是:typinfo
我看了 getenumname 等函数,可到了最后是 mov eax,.....

才疏学浅,实在是看不懂. :D
 
想了半天,没有结果,应该是没有办法的吧
 
多谢,多谢.

再想想... :D

真的不行吗?
 
判断里面有多少个(把他看成字符串)‘,’。在它的数值上加1
 
很简单的啊!不要把问题复杂化了,也不要什么Typinfo之类的。只要用一个循环就可以了!
提示一下:Low,High。
 
难道还不明白吗?晕倒!!!!!!!!!!!!!
var
i:TGetData;
R:ingeger;
begin
R:=0;
for i:=Low(TGetData) to High(TGetData) do
Inc(R);
end;
///R就是结果了啊。
 
To:Kingron,

我才晕倒了呢,你自己编译试试看能不能运行!!!!!!!!!!!
 
说你不明白,果然还是不明白!都像你一样,我真的要晕倒了:
procedure TForm1.Button1Click(Sender: TObject);
type
tGetData=(gdInteger,gdFloat);
var
i:TGetData;
R:integer;
begin
R:=0;
for i:=Low(TGetData) to High(TGetData) do
Inc(R);
Caption := IntToStr(R);
end;
 
自己不会思考一下吗?
 
是啊是啊,要自己思考的。
 
我们大家都要思考
 
呜呜呜,谢谢大家对我的"批评"

To:Kingron
编译没有问题,一开始是我看错了. 对不起 and 谢谢您.

130分已经给你加上,有问题还会向你请教.再次感谢.
 
后退
顶部