- ساخت n عدد تصادفی بدون تکرار
برای این کار کافیه از روشی موسوم به Shuffling استفاده کنید. به این صورت که اعداد رو پشت سر هم می نویسید، بعد اونها رو بر می زنید!

procedure TForm1.Button1Click(Sender: TObject);
var
i, n: integer;
lst: TStringList;
begin
n := 1000;
Randomize;

lst := TStringList.Create;

for i := 1 to n do
lst.Add(IntToStr(i));

for i := 1 to n do
lst.Exchange(random(n), random(n));

Memo1.Lines.Text := lst.Text;

lst.Free;
end;