Показать сообщение отдельно
  #1  
Старый 07.03.2018, 16:02
Taras2020 Taras2020 вне форума
Прохожий
 
Регистрация: 15.01.2018
Сообщения: 36
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Перемешивание строк / Delphi/RAD XE4

Ребята как переделать вот этот код - под чтение построчно. Что бы не загружать в память.
Код:
var
  s: TStringList;
  z, p, q: Integer;
begin
  s := TStringList.Create;
  s.LoadFromFile('C:\text.txt');
  z := 50;
  while (z > 0) do begin
    p := random(s.Count); q := random(s.Count);
    s.Exchange(p, q);
    dec(z);
  end;
  s.SaveToFile('c:\text.txt');
  s.Free;
end;

Начал переделывать вот так (но вот в регуляровкой рандом не дружу):
Код:
var
    z, p, q: Integer;
    ft, ft2: TextFile;
    s:string;
 
begin
  if OpenDialog1.Execute then begin
  AssignFile(ft, OpenDialog1.FileName);
  Reset(ft);
  AssignFile(ft2, ExtractFileDir(OpenDialog1.FileName)+'\rez.txt');
  Rewrite(ft2); // чтобы создался новый, если нету, или перезаписался с нуля
  Append(ft2); // чтобы можно было добавлять строки, а не перезаписывать каждый раз
 begin
while not eof(ft) do
 begin
readln(ft,s);
//////////////////////////////////////
Вот тут не знаю что дописать ?
//////////////////////////////////////
writeln(ft2,s)
 end;
closefile(ft);
closefile(ft2);
end;
end;
end;

Подскажите кто сможет ?
Ответить с цитированием