نقل قول نوشته شده توسط مجتبی تاجیک مشاهده تاپیک
امروز تو یکی از برنامه ها که داشتم مینوشتم نیاز به تولید اعداد تصادفی ( Random ) غیر تکراری داشتم و تابع زیر رو برای این کار نوشتم :

procedure GenerateRandomList(var NumberList: TStringList; const NumberOfRandomGenerated, RandomRange: Integer);
begin
if RandomRange < NumberOfRandomGenerated then
raise Exception.Create('Random range must be equal or greater than number of random generated !');

NumberList.Duplicates := dupIgnore;
NumberList.Sorted := True;
RandSeed := MilliSecondOf(Now);
repeat
NumberList.Add(IntToStr(Random(RandomRange)));
until (NumberList.Count = NumberOfRandomGenerated);
end;


این هم نمونه استفاده :

var
RandomList: TStringList;
begin
RandomList := TStringList.Create;
try
GenerateRandomList(RandomList, 10000, 20000);
ListBox1.Items.Assign(RandomList);
finally
RandomList.Free;
end;
end;
با تشكر از مجتبي جان
فكر كنم بايد يونيت DateUtils هم Use بشه
ممنون