Difference between revisions of "Basic Pascal Tutorial/Chapter 2/Files/ja"
m (bypass language bar/categorization template redirect [cf. discussion]) |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Files}} | + | {{Basic Pascal Tutorial/Chapter 2/Files}} |
2D - ファイル (著者: Tao Yue, 状態: 原文のまま修正なし) | 2D - ファイル (著者: Tao Yue, 状態: 原文のまま修正なし) | ||
画面(キーボード)からのかわりにファイルから読み込む場合には次のように行う。 | 画面(キーボード)からのかわりにファイルから読み込む場合には次のように行う。 | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
read (ファイル変数, 引数リスト); | read (ファイル変数, 引数リスト); | ||
write (ファイル変数, 引数リスト); | write (ファイル変数, 引数リスト); | ||
Line 10: | Line 10: | ||
<tt>readln</tt> と <tt>writeln</tt> と同様にファイル変数は以下のように宣言される。 | <tt>readln</tt> と <tt>writeln</tt> と同様にファイル変数は以下のように宣言される。 | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
var | var | ||
... | ... | ||
Line 23: | Line 23: | ||
<tt>reset</tt> は読み込みのためにファイルをオープンし、 <tt>rewrite</tt> は書き込みのためにファイルをオープンする。<tt>reset</tt> でオープンされたファイルには <tt>read</tt> と <tt>readln</tt>だけが使える。 <tt>rewrite</tt> でオープンされたファイルには<tt>write</tt> と <tt>writeln</tt>だけが使える。 | <tt>reset</tt> は読み込みのためにファイルをオープンし、 <tt>rewrite</tt> は書き込みのためにファイルをオープンする。<tt>reset</tt> でオープンされたファイルには <tt>read</tt> と <tt>readln</tt>だけが使える。 <tt>rewrite</tt> でオープンされたファイルには<tt>write</tt> と <tt>writeln</tt>だけが使える。 | ||
− | Turbo Pascal | + | Turbo Pascal は割り当て表記 (assign notation) を導入した。最初にファイル名を変数に割り当てれば、その変数を使うだけで<tt>reset</tt> あるいは <tt>rewrite</tt> を呼び出せるのである。 |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | assign ( | + | assign (ファイル変数, 'ファイル名.拡張子'); |
− | reset ( | + | reset (ファイル変数); |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | パスを表現する方法はオペレーティング・システムによって異なる。 Windows のユーザなら DOS の遺産のためにバック・スラッシュとドライブを表す文字を使うだろう (たとえば、 <tt>c:\directory\name.pas</tt>)。一方、 macOS と Linux では UNIX の遺産で普通のスラッシュ(forward slashes) を使うことになるだろう。 | |
− | + | ファイルで作業をした後には、次のようにしてファイルを閉じることができる。 | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | close ( | + | close (ファイル識別子); |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ここにはファイルを使用したプログラム例を示す。このプログラムは Turbo Pascal と DOS 用に書かれており、file1.txt の最初の文字からなる file2.txt を作り出す。 | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
program CopyOneByteFile; | program CopyOneByteFile; | ||
Line 57: | Line 57: | ||
{|style=color-backgroud="white" cellspacing="20" | {|style=color-backgroud="white" cellspacing="20" | ||
− | |[[ | + | |[[Basic Pascal Tutorial/Chapter 2/Formatting output/ja|previous]] |
− | |[[Contents/ja|contents]] | + | |[[Basic Pascal Tutorial/Contents/ja|contents]] |
− | |[[ | + | |[[Basic Pascal Tutorial/Chapter 2/EOLN and EOF/ja|next]] |
|} | |} |
Latest revision as of 15:18, 20 August 2022
│
български (bg) │
Deutsch (de) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
2D - ファイル (著者: Tao Yue, 状態: 原文のまま修正なし)
画面(キーボード)からのかわりにファイルから読み込む場合には次のように行う。
read (ファイル変数, 引数リスト);
write (ファイル変数, 引数リスト);
readln と writeln と同様にファイル変数は以下のように宣言される。
var
...
filein, fileout : text;
text というデータタイプはファイルが単なるテキストであることを示している。
ファイルのための変数を宣言した後、その変数への書き込み、あるいはその変数からの読み込みをする前に、ディスク上のファイル名と関連づけてファイルをオープンしなくてはならない。これには2つのやり方のいずれかを使う。典型的には次のようになる。
reset (ファイル変数, 'ファイル名.拡張子'); rewrite (ファイル変数, 'ファイル名.拡張子');
reset は読み込みのためにファイルをオープンし、 rewrite は書き込みのためにファイルをオープンする。reset でオープンされたファイルには read と readlnだけが使える。 rewrite でオープンされたファイルにはwrite と writelnだけが使える。
Turbo Pascal は割り当て表記 (assign notation) を導入した。最初にファイル名を変数に割り当てれば、その変数を使うだけでreset あるいは rewrite を呼び出せるのである。
assign (ファイル変数, 'ファイル名.拡張子');
reset (ファイル変数);
パスを表現する方法はオペレーティング・システムによって異なる。 Windows のユーザなら DOS の遺産のためにバック・スラッシュとドライブを表す文字を使うだろう (たとえば、 c:\directory\name.pas)。一方、 macOS と Linux では UNIX の遺産で普通のスラッシュ(forward slashes) を使うことになるだろう。
ファイルで作業をした後には、次のようにしてファイルを閉じることができる。
close (ファイル識別子);
ここにはファイルを使用したプログラム例を示す。このプログラムは Turbo Pascal と DOS 用に書かれており、file1.txt の最初の文字からなる file2.txt を作り出す。
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 |