[テキストファイルを1文字づつ読み書きする]

テキストファイルを1文字づつ読み書きします。
【ソースコード】 [tips0053.pas]
program tips0053;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, MMSystem;
var
 SF,DF:TFileStream;
 b:integer;
 t:Char;
 tm:int64;
begin
  tm:=timeGettime; //時間の測定の開始
  WriteLn('◆FileStreamでReadとWriteを使用し、1バイト単位で書込み');
  SF:=TFileStream.Create('tips0053_input.txt',fmOpenRead);
  DF:=TFileStream.Create('tips0053_output.txt',fmCreate);
  while true do
    begin
    b:=SF.Read(t,sizeof(t));  //データを1バイト読み込み
    if b=0 then break;        //ファイルが空になったので終了
    
    DF.Write(t,sizeof(t));    //データを1バイト書き込み
    end;
  WriteLn('入力サイズ:',inttostr(SF.Size),'バイト');
  WriteLn('出力サイズ:',inttostr(DF.Size),'バイト');
  SF.Free;
  DF.Free;
  WriteLn('処理時間:',inttostr(timeGettime-tm),'ms');//かかった時間の計算
end.
【コンパイル&実行】 [tips0053.bat]
dcc32 tips0053.pas 
tips0053.exe  > tips0053.txt
pause
【入力】 [tips0053_input.txt]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
【出力】 [tips0053_output.txt]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
【実行結果】 [tips0053.txt]
◆FileStreamでReadとWriteを使用し、1バイト単位で書込み
入力サイズ:64バイト
出力サイズ:64バイト
処理時間:3ms