[テキストファイルを1行ずつ読み書きする]

ReadLn,WriteLnを使って、1行ずつ別ファイルの書き出します。

【ソースコード】 [tips0051.pas]
program tips0051;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, MMSystem;
var
 SF,DF:TextFile;
 buf:string;
 cnt1,cnt2:Integer;
 tm:int64;
begin
  tm:=timeGettime; //時間の測定の開始
  WriteLn('◆ReadLn・WriteLnで1行単位で読み書き');
  AssignFile(SF,'tips0051_input.txt');
  AssignFile(DF,'tips0051_output.txt');
  Reset(SF);
  Rewrite(DF);
  cnt1:=0; cnt2:=0;
  while not eof(SF) do
    begin
    ReadLn(SF,buf);
     cnt1:=cnt1+1;
    WriteLn(DF,buf);
     cnt2:=cnt2+1;
    end;
  CloseFile(SF);
  CloseFile(DF);
  WriteLn('入力件数:',inttostr(cnt1),'件''');
  WriteLn('出力件数:',inttostr(cnt2),'件''');
  WriteLn('処理時間:',inttostr(timeGettime-tm),'ms');//かかった時間の計算
end.
【コンパイル&実行】 [tips0051.bat]
dcc32 tips0051.pas 
tips0051.exe  > tips0051.txt
pause
【入力】 [tips0051_input.txt]
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
【出力】 [tips0051_output.txt]
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
【実行結果】 [tips0051.txt]
◆ReadLn・WriteLnで1行単位で読み書き
入力件数:5件
出力件数:5件
処理時間:3ms