Exemple #1
0
 public void Init(string periodicData, HandleProgress progress)
 {
     progress(0, "Searching for cached table...");
     if (File.Exists(periodicData))
     {
         Stream file = File.Open(periodicData, FileMode.OpenOrCreate);
         this.elements = (Element[])serializer.Deserialize(file);
     }
     else
     {
         List <Element> elements = new List <Element>();
         XmlDocument    resolver = new XmlDocument();
         resolver.LoadXml(table.GetAtoms());
         XmlNodeList nodes = resolver.GetElementsByTagName("ElementName");
         int         i     = 0;
         foreach (XmlNode tag in nodes)
         {
             Element element = new Element()
             {
                 Name = tag.InnerXml
             };
             resolver.LoadXml(table.GetAtomicNumber(element.Name));
             element.Symbol = resolver.GetElementsByTagName("Symbol")[0].InnerXml;
             element.Atomic = int.Parse(resolver.GetElementsByTagName("AtomicNumber")[0].InnerXml);
             elements.Add(element);
             progress((double)i++ / (double)nodes.Count, "Downloaded " + tag.InnerXml);
         }
         this.elements = elements.OrderByDescending(e => e.Symbol.Length).ToArray();
         Stream file = File.Open(periodicData, FileMode.OpenOrCreate);
         serializer.Serialize(file, this.elements);
         progress(1, "Complete");
         IsInit = true;
     }
 }
 public void Init(string periodicData, HandleProgress progress)
 {
     progress(0, "Searching for cached table...");
       if (File.Exists(periodicData))
       {
     Stream file = File.Open(periodicData, FileMode.OpenOrCreate);
     this.elements = (Element[])serializer.Deserialize(file);
       }
       else
       {
     List<Element> elements = new List<Element>();
     XmlDocument resolver = new XmlDocument();
     resolver.LoadXml(table.GetAtoms());
     XmlNodeList nodes = resolver.GetElementsByTagName("ElementName");
     int i = 0;
     foreach (XmlNode tag in nodes)
     {
       Element element = new Element() { Name = tag.InnerXml };
       resolver.LoadXml(table.GetAtomicNumber(element.Name));
       element.Symbol = resolver.GetElementsByTagName("Symbol")[0].InnerXml;
       element.Atomic = int.Parse(resolver.GetElementsByTagName("AtomicNumber")[0].InnerXml);
       elements.Add(element);
       progress((double)i++ / (double)nodes.Count, "Downloaded " + tag.InnerXml);
     }
     this.elements = elements.OrderByDescending(e => e.Symbol.Length).ToArray();
     Stream file = File.Open(periodicData, FileMode.OpenOrCreate);
     serializer.Serialize(file, this.elements);
     progress(1, "Complete");
     IsInit = true;
       }
 }