ウィキのコピーミラー

これは pascal.chat のウィキのミラーです。編集、履歴、ログインはそちらで行います。

Basic Pascal Tutorial/Chapter 2/Files/ja

Deutsch · English · Français · Български · 中文(中国) · 日本語

2D - ファイル (著者: Tao Yue, 状態: 原文のまま修正なし)

画面(キーボード)からのかわりにファイルから読み込む場合には次のように行う。

pascal
read (??????????????????, ???????????????);
write (??????????????????, ???????????????);

readln と writeln と同様にファイル変数は以下のように宣言される。

pascal
var
  ...
  filein, fileout : text;

text というデータタイプはファイルが単なるテキストであることを示している。

ファイルのための変数を宣言した後、その変数への書き込み、あるいはその変数からの読み込みをする前に、ディスク上のファイル名と関連づけてファイルをオープンしなくてはならない。これには2つのやり方のいずれかを使う。典型的には次のようになる。

text
reset (ファイル変数, 'ファイル名.拡張子');
rewrite (ファイル変数, 'ファイル名.拡張子');

reset は読み込みのためにファイルをオープンし、 rewrite は書き込みのためにファイルをオープンする。reset でオープンされたファイルには read と readlnだけが使える。 rewrite でオープンされたファイルにはwrite と writelnだけが使える。

Turbo Pascal は割り当て表記 (assign notation) を導入した。最初にファイル名を変数に割り当てれば、その変数を使うだけでreset あるいは rewrite を呼び出せるのである。

pascal
assign (??????????????????, 'ファイル名.拡張子');
reset (??????????????????);

パスを表現する方法はオペレーティング・システムによって異なる。 Windows のユーザなら DOS の遺産のためにバック・スラッシュとドライブを表す文字を使うだろう (たとえば、 c:\directory\name.pas)。一方、 macOS と Linux では UNIX の遺産で普通のスラッシュ(forward slashes) を使うことになるだろう。

ファイルで作業をした後には、次のようにしてファイルを閉じることができる。

pascal
close (?????????????????????);

ここにはファイルを使用したプログラム例を示す。このプログラムは Turbo Pascal と DOS 用に書かれており、file1.txt の最初の文字からなる file2.txt を作り出す。

pascal
program CopyOneByteFile;

var
   mychar : char;
   filein, fileout : text;

begin
   assign (filein, 'c:\file1.txt');
   reset (filein);
   assign (fileout, 'c:\file2.txt');
   rewrite (fileout);
   read (filein, mychar);
   write (fileout, mychar);
   close(filein);
   close(fileout)
end.
previous contents next

From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 2/Files/ja", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

第3版、最終更新:WikiArchive 。