Yozj

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору pakusya У основной программы код будет один и тот же для обеих программ: Код: var srcFile, destFile: Text; begin Assign(srcFile, 'my_file.txt'); // исходный файл Assign(destFile, 'my_file.bak'); // временный файл Reset(srcFile); Rewrite(destFile); // Здесь вызываем алгоритм считывания и записи processFiles(srcFile, destFile); Close(srcFile); Close(destFile); // Удаление и Переименование файлов - посмотри в справке, не помню как в TP это происходит RemoveFile('my_file.txt'); Rename('my_file.bak', 'my_file.txt'); end; | остается реализовать процедуру processFiles для каждой программы свою: Код: procedure processFiles(var srcFile: Text; var destFile: Text); var line: String; cnt: Integer; begin cnt := 0; while not eof(srcFile) do begin ReadLn(srcFile, line); WriteLn(destFile, line); cnt := cnt + 1; // Через каждые две строки вставляем пустую if cnt = 2 then begin WriteLn(destFile, ''); cnt := 0; end; end; end; | а для страничного разбиения: Код: procedure processFiles(var srcFile: Text; var destFile: Text); var line: String; cnt, pageIndex: Integer; begin cnt := 0; pageIndex := 1; while not eof(srcFile) do begin ReadLn(srcFile, line); WriteLn(destFile, line); cnt := cnt + 1; // Количество строк в странице if cnt = 200 then begin WriteLn(destFile, 'Страница № '+IntToStr(pageIndex)); cnt := 0; pageIndex := pageIndex + 1; end; end; end; |
|