一个枚举类型的简单问题!(20分)

  • 主题发起人 主题发起人 jbas
  • 开始时间 开始时间
J

jbas

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样的功能.
procedure TForm1.Button1Click(Sender: TObject);
var
y:(conn1,conn2,conn3);
a:string[10];
begin
a:=y[1]//想取出其值.
label1.caption:=a;//把值给label.caption..a只能用y中的数据.
end;
谢谢了!
 
怎么每人说呀??
 
是不是这个意思?
type
Ta = (conn1, conn2, conn3);

procedure TForm1.Button1Click(Sender: TObject);
const
y: array [Ta] of string = ('conn1', 'conn2', 'conn3');
var
a: String[10];
begin
a := y[conn1];
label1.caption := a;
end;
枚举类型没有办法直接变成字符串。
 
//枚举类型不是这么定义的吧?
y:(conn1,conn2,conn3); => type y=(conn1,conn2,conn3);
var a:y;

a:=y[1] => a;=y(1);//我这里是强制转换

label1.caption:=a; //错误。枚举类型不能赋给字符串类型

//不过看你的程序,最好是定义成数组类型 而不是枚举类型,你的概念不清楚,去看看书吧

procedure TForm1.Button1Click(Sender: TObject);
const
y:array[1..3] of string =('conn1','conn2','conn3');
var
a:string[10];
begin
a:=y[1];//想取出其值.
label1.caption:=a;//把值给label.caption..a只能用y中的数据.
end;

 
可以使用字符串数组
TYPE
myData = (conn1, conn2, conn3);

procedure TForm1.Button2Click(Sender: TObject);
const
y: array [myData] of string = ('conn1', 'conn2', 'conn3');
var
a: String[10];
begin
a := y[conn1];
label1.caption := a;
end;
 
上面两位老大都说的对!!!
我就是想实现上面的功能.但不懂,看了书觉的可以用枚举类型来表示,书上可没有你们讲的
明白,所以我不太懂,自己又调试不出来....
to 小人物大侠:
>>最好是定义成数组类型
是呀,我改成定义为数组类型了,确实好理解多了.谢谢!

 
to 崔占东:
谢谢了,你的跟delphi大侠讲的一样.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
I
回复
0
查看
421
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部