This post is Private. Only a writer or those who know its URL can access this post.

Improve article
RevisionsShow article in Markdown
Report article
Help us understand the problem. What is going on with this article?

<9> ファイル型 (標準 Pascal 範囲内での Delphi 入門)〔裏〕

9. ファイル型 (File Types)

9.1. ファイル構造

標準 Pascal では program ヘッダのパラメータと外部ファイルとの関連付けは処理系定義となっています。つまり、規格では定められていません。

Pascal-P5 では、2 つの特殊なテキストファイルが扱えます。

外部ファイル 説明
prd 読み込み専用の外部ファイル
prr 書き込み専用の外部ファイル

詳しくは次の記事を参考にしてください。

UCSD Pascal などでは Reset() や Rewrite() の第 2 引数にファイル名を渡せるようにして問題を解決しています。

RANDOMACCESS.pas
PROGRAM RANDOMACCESS;
VAR
  DISK: FILE OF 
          RECORD
            NAME: STRING[20];
            DAY, MONTH, YEAR: INTEGER
          END;
BEGIN
  RESET(DISK, 'RECORDS.DATA');
  WHILE NOT EOF(INPUT) DO
  BEGIN
    ...

拡張 Pascal では Bind() / Binding() / Unbind() とレコード型 BindingType を使って問題を解決しています。

procedure bindfile(var f : text);
var
  b : BindingType;
begin
  unbind(f);
  b := binding(f);
  repeat
    writeln('Enter file name:');
    readln(b.name);
    bind(f, b);
    b := binding(f);
    if not b.bound then
      writeln('File not bound--try again.');
  until b.bound;
end;

See also:

9.2. テキストファイル

Eoln() が True の状態で Read() によって 1 文字読み込んだ時、標準 Pascal は空白を返します。

(9.3.) 型なしファイル

Delphi には型なしファイル型というものがあります。いわゆるバイナリファイルを扱うファイル型です。

この拡張は UCSD Pascal 由来のようです。BlockRead() や BlockWrite() も用意されていました。

See also:

索引

:ramen: [ ← 8. 集合型〔裏〕 ] [ ↑ 目次へ ] [ → 10. ポインタ型〔裏〕 ]

ht_deko
とある熊本の障害復旧(トラブルシューター)
https://ht-deko.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away