Example #1
0
        private static void save_threaded()
        {
            string    str = st_name;
            format_bd _bd = st_bd;

            if (!string.IsNullOrEmpty(str) && (_bd != null))
            {
                for (bool flag = false; !flag; flag = true)
                {
                    try
                    {
                        BinaryFormatter formatter = new BinaryFormatter();
                        StreamWriter    writer    = new StreamWriter(st_name);
                        formatter.Serialize(writer.BaseStream, st_bd);
                        writer.Close();
                    }
                    catch
                    {
                        Thread.Sleep(0x3e8);
                    }
                }
            }
            save_thread.Remove(Thread.CurrentThread);
            _bd = null;
            str = null;
        }
Example #2
0
        public static void Save(string name, format_bd bd)
        {
            st_bd   = bd;
            st_name = name;
            Thread item = new Thread(new ThreadStart(format_bd.save_threaded));

            save_thread.Add(item);
            item.Start();
        }
Example #3
0
 public static format_bd Load(string name)
 {
     if (File.Exists(name))
     {
         BinaryFormatter formatter = new BinaryFormatter();
         StreamReader    reader    = new StreamReader(name);
         format_bd       _bd       = formatter.Deserialize(reader.BaseStream) as format_bd;
         reader.Close();
         SaveTests(_bd);
         return(_bd);
     }
     return(new format_bd());
 }
Example #4
0
        public static void SaveTests(format_bd bd)
        {
            StreamWriter writer = new StreamWriter("tests.txt");

            foreach (format_testfile test in bd.tests)
            {
                writer.WriteLine("ТЕСТ " + test.test_id);
                writer.WriteLine("===========================================================");
                foreach (test_theme theme in test.themes)
                {
                    writer.WriteLine("Тема " + theme.name);
                    writer.WriteLine();
                    foreach (test_question question in theme.questions)
                    {
                        if (question.question[question.question.Length - 1] == '\n')
                        {
                            writer.Write("\t" + question.question);
                        }
                        else
                        {
                            writer.WriteLine("\t" + question.question);
                        }

                        foreach (test_answer answer in question.answers)
                        {
                            string s = answer.answer;
                            if ((s[0] == 'А' || s[0] == 'Б' || s[0] == 'В' || s[0] == 'Г') && (s[1] == ')'))
                            {
                                s = s.Substring(2);
                            }
                            writer.WriteLine("\t\t" + BTS(answer.is_right) + s);
                        }
                        writer.WriteLine("\n");
                    }
                    writer.WriteLine("-----------------------------------------------------------");
                }
            }
            writer.Close();
        }
Example #5
0
 public void mergeBd(format_bd bd2)
 {
 }