private bool LoadParaFromIniFile(string iniFilePath) { FileStream input; BinaryFormatter reader = new BinaryFormatter(); try { input = new FileStream(strINIPath, FileMode.Open, FileAccess.Read); AccountTypeTable hs = new AccountTypeTable(); hs = (AccountTypeTable)reader.Deserialize(input); accountTypeTable = hs; ArrayList dl = new ArrayList(); dl = (ArrayList)reader.Deserialize(input); departmentList = dl; AccessFunctionTable af = new AccessFunctionTable(); af = (AccessFunctionTable)reader.Deserialize(input); accessFunctionTable = af; ArrayList ul = new ArrayList(); ul = (ArrayList)reader.Deserialize(input); userAccountList = ul; int iT = 0; iT = (int)reader.Deserialize(input); iAutoLogoutTime = iT; if (input != null) { // close file input.Close(); } } catch (SerializationException) { MessageBox.Show("Error reading from file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (IOException) { MessageBox.Show("Error opening file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(true); }
public UserAccount(SerializationInfo info, StreamingContext context) { //開始反序列化工作,丟入自行定義的 key 將之前被序列化的資料讀出 loginID = info.GetString("loginID"); password = info.GetString("password"); department = info.GetString("department"); userName = info.GetString("userName"); description = info.GetString("description"); cardID = info.GetString("cardID"); enableAdvancedAccess = info.GetBoolean("enableAdvancedAccess"); int count = info.GetInt32("accountType_count"); for (int i = 0; i < count; i++) { accountType.Add(info.GetString("accountType_id_" + i), info.GetString("accountType_value_" + i)); } accessFunctionTable = new AccessFunctionTable(info, context); }