function SlowoRandom(dlina: integer; PROPIS, rus, eng, tsifra: boolean): string;
var b: array[0..255] of boolean;
i, n: integer;
begin
Result:='';
If not PROPIS and not rus and not eng and not tsifra then
Exit;
For i:=0 to 255 do
b[i]:=false;
If tsifra then
For i:=48 to 57 do
b[i]:=true;
If PROPIS and eng then
For i:=65 to 90 do
b[i]:=true;
If eng then
For i:=97 to 122 do
b[i]:=true;
If PROPIS and rus then
For i:=192 to 223 do
b[i]:=true;
If rus then
For i:=224 to 255 do
b[i]:=true;
n:=0;
While n<dlina do
begin
n:=n+1;
i:=Random(256);
If b[i] then
Result:=Result+Char(i) else
n:=n-1;
end;
end;
где
dlina - длина строки;
PROPIS - прописные буквы;
rus - русские буквы;
eng - английские буквы;
tsifra - цифры.
Например, SlowoRandom(5, true, true, true, true) выведет случайным образом строку длиной в 5 символов (например, 'r5фSЦ').
|