• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi获取不重复随机数《LceMeaning》

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
uses
  ShareMem;


type
  TArray = array of Integer;


function CreateRandom(ResultCount, MaxInt: Integer) : TArray;
var                 // 生成个数     最大数值
  I, N, count : Integer;                 
  a : array of Integer;
  label L;
begin
  Randomize;
  SetLength(a,ResultCount);
  for I := 0 to ResultCount -1 do
    begin
      L:
      N := Random(MaxInt);
      for count := 0 to I do
      begin
        if a[count] = N then
        begin
          goto L;
        end;
      end;
      a[i] := N;
      //tmpLst.Add(IntToStr(N));
      Result[i] := n;
    end;
end;


//调用方法
procedure TForm1.btn1Click(Sender: TObject);
var
  MyArr : TArray;
  I : Integer;
  s : string;
begin
  SetLength(MyArr, ResultCount); 
  try
    MyArr := CreateRandom(StrToInt(edt3.Text),lst1.Items.Count);
    for I := 0 to StrToInt(edt3.Text)-1 do
      s := s + lst1.Items[Myarr[i]] + ',';
  except  

  end; 
    Memo2.Text := S;
end;

以上经过XE5编译通过, 如果不引用ShareMem,运行时可能会弹错。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
深入Delphi--Windows消息机制发布时间:2022-07-18
下一篇:
DIOCP开源项目-Delphi高性能无锁队列(lock-free)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap