首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

能不能组合变量名、常量名?解决思路

2012-02-16 
能不能组合变量名、常量名??举例:Delphi(Pascal) codeconststr_1XXXstr_2XXXstr_3XXXstr_4XX

能不能组合变量名、常量名??
举例:

Delphi(Pascal) code
const  str_1='XXX';  str_2='XXX';  str_3='XXX';  str_4='XXX';  ...  str_100='XXX';//这里定义了100个//我有一个函数 YY ,实现如下功能:procedure TForm1.YY(i:integer);begin  case i of  1:Memo1.Lines.Add(str_1);  2:Memo1.Lines.Add(str_2);  3:Memo1.Lines.Add(str_3);  ...  100:Memo1.Lines.Add(str_100);  end;end;

像上面的函数 YY,如果 str_? 比较多的话,YY函数 就很长,能不能像下面这样:
procedure TForm1.YY(i:integer);
begin
  Memo1.Lines.Add(str_i);//根据i的值,直接知道对应的 str_?,而不要用case语句
end;

或者有什么其他方便的做法?

问题比较奇怪,别见怪。

[解决办法]
定义个数组嘛
[解决办法]
是数组:
const
str:array [1..100] of string=(
'xxx'
,'xxx'
...
,'xxx'
);

procedure TForm1.YY(i:integer);
begin
Memo1.Lines.Add(str[i]);
end;

[解决办法]
用数组最简单了,const str_arr: array [1..100] of string = ('XX1','XX2',...'XX10');
[解决办法]
探讨
引用:
是数组:
const
str:array [1..100] of string=(
'xxx'
,'xxx'
...
,'xxx'
);

procedure TForm1.YY(i:integer);
begin
Memo1.Lines.Add(str[i]);
end;

恩,可以谢谢。
好像不能定义成动态的啊?

[解决办法]
是数组:
const
str:array [1..100] of string=(
'xxx'
,'xxx'
...
,'xxx'
);

procedure TForm1.YY(i:integer);
begin
Memo1.Lines.Add(str[i]);
end;
就是这样啊,什么叫不能定义成动态?

热点排行