2. ファイル入出力覚書2(assignfile)
assignfileによるファイル入出力(テキスト)
行単位&コード上で読み書きができる
 


読み込み (read)   

procedure TForm1.Button1Click(Sender: TObject);
var
	filename,str : string;
	f : system.text;
begin      
        filename := 'なんたら.○○○';
        assignfile(F,filename);              //バッファの割り当て
        reset(F); //読み込む命令
        readln(F,str);                         //一行よんで改行
        closefile(F);                           //ファイルを閉じる
end;

参考:ファイルを最後まで読み込む
var
	filename,str : string;
	f : system.text;
              i : integer;
begin
        i := 0;
        filename := 'なんたら.○○○';
        assignfile(F,filename);          //バッファの割り当て
        reset(F); //読み込む命令
        repeat                         //until までを繰り返し
           readln(F,str);                          //memo1を一行ずつ読み込む	
           memo1.lines[i] := str; 
           i := i +1;
        until Eof(f) = true ;         //ファイルが終わるまで
        closefile(F);                         //ファイルを閉じる
end;



書き込み (write)

1.新しくファイルを作り、書き込む   

procedure TForm1.Button1Click(Sender: TObject);
var
	filename,str : string;
	f : system.text;
begin      
        str := 'かんたら';
        filename := 'なんたら.○○○';
        assignfile(F,filename); //バッファの割り当て
        rewrite(F); //新しく書き込む命令
        writeln(F,str); //一行書き込んで改行
        closefile(F); //ファイルを閉じる
end;

2.既存のファイルに追加する   

procedure TForm1.Button1Click(Sender: TObject);
var
	filename,str : string;
	f : system.text;
begin      
        str := 'かんたら';
        filename := 'なんたら.○○○';
        assignfile(F,filename); //バッファの割り当て
        append(F); //追加して書き込む命令
        writeln(F,str); //一行書き込んで改行
        closefile(F); //ファイルを閉じる
end;

読み込み同様に、writelnを繰り返すことで複数行書き込める。


戻る
大阪大学医学部保健学科 医療情報学研究室 竹村 匡正  takemura@sahs.med.osaka-u.ac.jp