■列挙型について
列挙型と言ってもようは整数値です。 しかしDelphiでは他言語と違ってそのまんま整数ではありません。
//列挙型であるTServerTypeを宣言 type TServerType = (stPOP3,stIMAP4,stHTTP); procedure なんとかかんとか var Server:TServerType; begin Server := 0; end;
上は間違いです。
じゃあファイルに保存&読み込みがしたいときはどうするのか??というと 整数値をキャストしちゃえばできます。
//--------------------------------------------- // 列挙型をテキストファイルから読み込み //--------------------------------------------- //列挙型であるTServerTypeを宣言 type TServerType = (stPOP3,stIMAP4,stHTTP); procedure なんとかかんとか var Server:TServerType; F:TextFile; tmpServer:integer; begin AssignFile('C:\aaa.txt',F); Reset(F); //いったんtmpServer(integer型)に読み込み Readln(F,tmpServer); Close(F); //列挙型にする Server := TServerType(tmpServer); end;
保存するならord()を使います。
//--------------------------------------------- // 列挙型をテキストファイルに整数値として保存 //--------------------------------------------- //列挙型であるTServerTypeを宣言 type TServerType = (stPOP3,stIMAP4,stHTTP); procedure なんとかかんとか var Server:TServerType; F:TextFile; begin Server := stPOP3; AssignFile('C:\aaa.txt',F); Rewrite(F); //保存 Writeln(F,ord(Server)); //ファイルには0が保存されます Close(F); end;