кусок кода:
Код
begin
Edit1.Text; // сдесь исходный файл, в котором берём строки.
//тут нужен код который пермешивает строки.
Edit2.Text; // здесь сохраняем перемешанный текст.
// читаем строки в массив arr
randomize;
mix_count := random(50); // количество рандомных перестановок
for i := 1 to mix_count do begin
p := random(n) + 1; // n - количество строк, прочитанных из файла в массив
q := random(n) + 1;
T := arr[ p ];
arr[ p ] := arr[ q ];
arr[ q ] := T;
end;
// пишем массив в новый файл
procedure TForm1.Button1Click(Sender: TObject);
var
s: TStringList;
swap_count, p, q: Integer;
begin
s := TStringList.Create;
s.LoadFromFile('C:\text.txt');
swap_count := 50;
while (swap_count > 0) do begin
p := random(s.Count); q := random(s.Count);
s.Exchange(p, q);
dec(swap_count);
end;
s.SaveToFile('c:\text.txt');
s.Free;
end;
var
a:TStringList;
i,first,last:integer;
s:widestring;
begin
randomize;
a:=TStringList.Create;
a.LoadFromFile(Edit1.Text);
for i:=0 to a.Count-1 do
begin
first:=random(a.Count-1);
last:=random(a.Count-1);
s:=a.Strings[first];
a.Strings[first]:=a.Strings[last];
a.Strings[last]:=s;
end;
a.SaveToFile(Edit2.Text);
a.Free;
end;