示例#1
0
        public void CheckRecords(int Po)
        {
            StreamReader sr      = File.OpenText("Records.txt");
            string       input   = null;
            ArrayList    records = new ArrayList();

            while ((input = sr.ReadLine()) != null)
            {
                ClassResult CR = new ClassResult(ClassMoving.ToWords(input, 2)[0], Convert.ToInt32(ClassMoving.ToWords(input, 2)[1]));
                records.Add(CR);
            }

            sr.Close();

            records.Sort(ClassResult.SortByPoint);
            // самый младший рекорд в таблице
            ClassResult Cr = (ClassResult)records[0];

            // если его удалось победить
            if (Po > Cr.ResPoint)
            {
                //MessageBox.Show("Ваш результат - это новый рекорд!");
                Fr.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Fr_FormClosing);
                Fr.tbName.Focus();
                Fr.ShowDialog();
                FileInfo     fi = new FileInfo("Records.txt");
                StreamWriter writer;
                // если результат влезает в десятку
                if (records.Count < 10)
                {
                    records.Add(new ClassResult(UserName, Po));
                    // и дописать файл новым рекордом
                    writer = fi.AppendText();
                    writer.WriteLine(UserName + " " + Po.ToString());
                    writer.Close();
                }
                // иначе - удалить последнего
                else
                //if (Po > Cr.ResPoint)
                {
                    records.Remove(records[0]);
                    records.Add(new ClassResult(UserName, Po));
                    // и дописать файл новым рекордом
                    writer = fi.CreateText();
                    for (int i = 0; i < records.Count; i++)
                    {
                        Cr = (ClassResult)records[i];
                        writer.WriteLine(Cr.ResName + " " + Cr.ResPoint.ToString());
                    }
                    writer.Close();
                }
            }
        }
示例#2
0
        private void FormTableRecs_Load(object sender, EventArgs e)
        {
            StreamReader sr    = File.OpenText("Records.txt");
            string       input = null;

            System.Collections.ArrayList records = new System.Collections.ArrayList();

            while ((input = sr.ReadLine()) != null)
            {
                ClassResult CR = new ClassResult(ClassMoving.ToWords(input, 2)[0], Convert.ToInt32(ClassMoving.ToWords(input, 2)[1]));
                records.Add(CR);
            }
            sr.Close();
            records.Sort(ClassResult.SortByPoint);
            records.Reverse();

            for (int i = 0; i < records.Count; i++)
            {
                ClassResult CR = (ClassResult)records[i];
                dgRecords.Rows.Add(CR.ResName, CR.ResPoint);
            }
        }