|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Перемешивание строк / 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; Подскажите кто сможет ? |