鱼C论坛

 找回密码
 立即注册
查看: 3015|回复: 2

鱼总:别人发的帖子 用delpi 怎么设计 新手看不懂啊

[复制链接]
发表于 2011-11-3 13:03:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 sun19762003 于 2011-11-3 13:03 编辑

  function  GetSN(School, UserName:string):string;
  var
    A: array of array of Integer;  //声明一个动态二维数组
    I, J , K : Integer;
    N:integer; //循环总次数
    len:integer; //字符串长度
    Str,str1,str2 :string;
  begin
    Str := School + UserName;
    if Length(School)< 10 then
    begin
        MessageBox(0,'用户名长度必须大于10位,中文要有五个字符以上。','出错',MB_OK+MB_ICONERROR);
        Exit;
    end;
    Len:=Length(Str);
    N := Len - 10; //循环次数,取最后一次循环的A的值。
    SetLength(A,N+1,Len);//  分配二维数组矩阵空间。
    //初始化A[0,i]的值。
    for i:=0 to Len-1 do  A[0,i]:= ord(Str[i+1]);
    //以下显示初始化后的结果。
    // for i:= 0 to Len-1 do  Str1:=Str1+ inttoHex(A[0,i],2)+',';
    //Memo1.Lines.Add('初始化:'+ Str1);
  
    //核心算法过程
    for i:= 1 to N do //循环N次
    begin
      for J := 0 to Len-1 do A[I, J] := (A[I-1, J] + A[I-1, J + 1]) mod $FF;
      //以下显示每一次循环的结果。
      //for k := 0 to Len-1 do Str2:=Str2+inttoHex(A[I,k],2)+',';
      //Memo1.Lines.Add(Str2);
      Str2:='';
    end;
    Str2:='';
    //获得循环N次后的结果。
    for k:= 0 to Len-1 do Str2:=Str2+inttoHex(A[N,k],2);
    //取前20位格式化字串:
    Result:=Copy(Str2,1,5)+'-'+Copy(Str2,6,5)+'-'+
                Copy(Str2,11,5)+'-'+ Copy(Str2,16,5);
  end;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-3 13:04:40 | 显示全部楼层
:lol二维动态数组 是啥东东 :lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-18 12:59:03 | 显示全部楼层
这是干嘛的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 05:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表