コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }