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

哪位高手能帮小弟我解读这句代码

2012-03-21 
谁能帮我解读这句代码这是输入7个以上数字进行7个一组进行组合的部分代码s2 : TStringList.Create//s2.D

谁能帮我解读这句代码
这是输入7个以上数字进行7个一组进行组合的部分代码
s2 := TStringList.Create;
  // s2.Duplicates := dupIgnore;
  // s2.Sorted := True;
  mstr := '';
  for i := 0 to s1.Count - 1 do
  mstr := mstr + chr(ord('A') + StrToInt(s1.Strings[i]));
  // s2.Add(mstr);
  // i:=0;
  timestart := GetTickcount;
  flen := length(mstr);
  for L1 := 1 to flen - 6 do
  for L2 := L1 + 1 to flen - 5 do
  for L3 := L2 + 1 to flen - 4 do
  for L4 := L3 + 1 to flen - 3 do
  for L5 := L4 + 1 to flen - 2 do
  for L6 := L5 + 1 to flen - 1 do
  for L7 := L6 + 1 to flen do
  s2.Add(mstr[L1] + mstr[L2] + mstr[L3] + mstr[L4] + mstr[L5] +
  mstr[L6] + mstr[L7]);
  timestart := GetTickcount - timestart;

代码里面这句我看不懂:请解释以下行吗?
mstr := mstr + chr(ord('A') + StrToInt(s1.Strings[i]));
为什么要+ chr(ord('A') ?和我输入的参与组合的数字有什么关系?


[解决办法]
我告诉你吧,
1,2,5,9,10,20,4这样的形式,每个号长度不一,有1位有2位,不好处理
相应号码转换成以单个字符后('A'等价于数字1、'B'等价于数字2......),容易使用众多的字符串函数来处理

热点排行