コード例 #1
0
        private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            uint size = FileDate.CountOf <Record>();

            for (int i = 0; i < size; i++)
            {
                FileDate.ReadOne <Record>(i).debug();
            }
        }
コード例 #2
0
        private List <BookMaster> SearchByKeyword(Book book)
        {
            List <BookMaster> bklist = new List <BookMaster>();
            BookMaster        master = new BookMaster();
            uint size = FileDate.CountOf <BookMaster>();

            for (int i = 0; i < size; i++)
            {
                master = FileDate.ReadOne <BookMaster>(i);
                if (master.SimiliarTo(book))
                {
                    bklist.Add(master);
                }
            }
            return(bklist);
        }
コード例 #3
0
 private void confirm_Click(object sender, EventArgs e)
 {
     if (Vis.Checked)
     {
         Main.user = new User("Visitor");
         qual      = true;
     }
     else if (!(Stu.Checked || Worker.Checked || Admin.Checked))
     {
         MessageBox.Show("请选择你的登录身份!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     else
     {
         User utemp = new User();
         uint size  = FileDate.CountOf <User>();
         for (int i = 0; i < size; i++)
         {
             utemp = FileDate.ReadOne <User>(i);
             if (utemp.ID == IDtxt.Text && utemp.Pwd == PWDtxt.Text)
             {
                 if ((Stu.Checked && utemp.Pri == Privilege.学生) ||
                     (Worker.Checked && utemp.Pri == Privilege.职工) ||
                     (Admin.Checked && utemp.Pri == Privilege.管理员))
                 {
                     qual      = true;
                     Main.user = new User(utemp);
                     main.updateStatus();
                     break;
                 }
             }
         }
     }
     if (qual)
     {
         this.Close();
     }
     else
     {
         MessageBox.Show("未找到用户信息,用户名或密码或者登录身份错误.", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
コード例 #4
0
        //通过ISBN来找到书籍(书籍ISBN是唯一的,可以当做一个标识)
        public static List <BookMaster> SearchByISBN(string isbn)
        {
            BookMaster        master = new BookMaster();
            uint              count  = FileDate.CountOf <BookMaster>();
            List <BookMaster> bklist = new List <BookMaster>(1);

            for (int i = 0; i < count; i++)
            {
                master = FileDate.ReadOne <BookMaster>(i);
                if (master.Info.ISBN.Contains(isbn))
                {
                    bklist.Add(master);
                    break;
                }
            }
            if (bklist.Count == 0)
            {
                MessageBox.Show("未找到该ISBN编号的书", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            return(bklist);
        }
コード例 #5
0
        private List <Record> RecordWithinSpan(int span)
        {
            List <Record> reclist = new List <Record>();
            int           len     = (int)FileDate.CountOf <Record>();
            int           size    = Marshal.SizeOf(typeof(Record));
            Record        rec     = new Record();

            for (int i = 1; i <= len; i++)
            {
                rec = FileDate.ReadOne <Record>(len - i);
                if (rec.spanDaysToPresent() <= span)
                {
                    reclist.Add(rec);
                }
                else
                {
                    break;
                }
            }
            return(reclist);
        }
コード例 #6
0
        //删除对象(相当于将对象变为默认值)
        public static void Delete <T>(T t) where T : IGet, new()
        {
            int  structsize = Marshal.SizeOf(typeof(T));
            uint count      = FileDate.CountOf <T>();

            using (FileStream fs = new FileStream(t.ToString() + ".dat", FileMode.Open))
            {
                using (BinaryReader br = new BinaryReader(fs))
                {
                    for (uint i = 0; i < count; i++)
                    {
                        if (Byte2Struct <T>(br.ReadBytes(structsize)).GetID() == t.GetID())
                        {
                            using (BinaryWriter bw = new BinaryWriter(fs))
                            {
                                fs.Position -= structsize;
                                bw.Write(Struct2Byte <T>(new T()));
                            }
                            return;
                        }
                    }
                }
            }
        }