delphi Memo1 行随机打乱  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi Memo1 行随机打乱


procedure ShuffleStrings(List: TStrings; MoveCount: Integer = 0);

var

i, N, C: Integer;

Index1, Index2: Integer;

Str: string;

Obj: TObject;

begin

List.BeginUpdate;

try

C:=List.Count;

N:=MoveCount;

if N <= 0 then N:=C*C-C;

for i:=0 to N do begin

  Index1:=Random(C);

  Index2:=Random(C);

  Str:=List.Strings[Index1];

  Obj:=List.Objects[Index1];

  List.Strings[Index1]:=List.Strings[Index2];

  List.Objects[Index1]:=List.Objects[Index2];

  List.Strings[Index2]:=Str;

  List.Objects[Index2]:=Obj;

end;

finally

List.EndUpdate;

end;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
ShuffleStrings(Memo1.Lines);
end;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.042026042938232 seconds