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

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

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;
就是这样啊,什么叫不能定义成动态?