Esempio n. 1
0
        public static MemoryList Restore()
        {
            string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
                          + "\\OpenHPSDR\\";
            string file_name = path + "memory.xml";

            MemoryList mem_list = new MemoryList();

            if (!File.Exists(file_name))
            {
                return(mem_list);                         // no file, just return an empty list
            }
            StreamReader reader = new StreamReader(file_name);

            try
            {
                XmlSerializer ser = new XmlSerializer(typeof(MemoryList),
                                                      new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) });
                mem_list = (MemoryList)ser.Deserialize(reader);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }

            reader.Close();

            return(mem_list);
        }
Esempio n. 2
0
        //======================================================================================================================
        public static MemoryList Restore()
        {
            string path          = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\OpenHPSDR\\";
            string file_name     = path + "memory.xml";
            string bak_file_name = path + "memory_bak.xml";

            MemoryList mem_list = new MemoryList();

            StreamReader reader;

            try
            {
                if (!File.Exists(file_name))
                {
                    throw new FileNotFoundException();
                }

                reader = new StreamReader(file_name);

                XmlSerializer ser = new XmlSerializer(typeof(MemoryList), new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) });

                mem_list = (MemoryList)ser.Deserialize(reader);

                // save backup file
                mem_list.Save(bak_file_name);
            }
            catch (Exception ex1)
            {
                Debug.WriteLine(ex1);
                // check to see if backup file exists
                // if so, try to deserialize it
                if (!File.Exists(bak_file_name))
                {
                    return(mem_list);                             // no memory, no backup
                }
                reader = new StreamReader(bak_file_name);

                try
                {
                    XmlSerializer ser = new XmlSerializer(typeof(MemoryList),
                                                          new Type[] { typeof(MemoryRecord), typeof(SortableBindingList <MemoryRecord>), typeof(int) });
                    mem_list = (MemoryList)ser.Deserialize(reader);
                }
                catch (Exception ex2)
                {
                    Debug.WriteLine(ex2);
                }
            }

            reader.Close();

            return(mem_list);  // return memory listing to memory form window datagridview1
        } // restore