†Sibylのお部屋†
作成開始日 2023.01.31
最終更新日 2023.01.31
Var f : TEXT; //テキストファイル型 st: String; Begin Assign(f,'c:\mydir\myfile.txt'); //ファイルを開く ReadLn(f,st); //ファイルから1行読み込む Close(f); //ファイルを閉じるで、Sibylが厄介なのは、「text」や「close」が別の機能に割り当てられている為、このままではコンパイラが通らないこと。その場合、元来の機能になるように頭に「system.」をつけてやる必要がある。何てこったい…本当の問題は、その点に関するヘルプ記述がないことだが。
Delphiでも似たような状況だが、「system.Close()」の代わりに「CloseFile()」を使えと書いてあった。Sibylにも「CloseFile()」関数は存在するのだが引数が異なる。機能は?
ここで「TEXT」は、C言語で言うところの「ファイルポインタ型」に相当すると思うのだが、Pascal/Sibyl系ではそうした呼び方はしないようだ。また、「ファイルポインタ」と言う名称は、ファイル内の現在位置を表わすときにも使用されるので紛らわしい。ここではPascal標準の「ファイル型」「テキストファイル型」という名称を使う。
Var f : system.TEXT; //テキストファイル型 st: String; Begin Assign(f,'c:\mydir\myfile.txt'); //ファイルを開く ReadLn(f,st); //ファイルから1行読み込む system.Close(f); //ファイルを閉じる
Assign(f,'c:\mydir\myfile.txt'); While not EOF(f) do Begin ReadLn(f,st); WriteLn(st); //標準出力に出力する場合 ListBox1.Items.Add(st); //ListBox1に出力する場合 End; system.Close(f);
n:=FilePos(f) ファイル位置の参照
| Seek(f,n) | ファイル位置の変更
| |