Beispiel #1
0
        /// <summary>
        /// Creates compressed file. If source == dest, this will replace source file
        /// </summary>
        /// <param name="source"></param>
        /// <param name="dest"></param>
        /// <param name="filter"></param>
        public void CompressFile(string source, string dest, Func <DateTime, DateTime> filter)
        {
            List <DataAtom> bigList = new List <DataAtom>();

            using (StreamReader sr = File.OpenText(source))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    bigList.Add(DataAtom.FromString(line));
                }
            }

            var compressed = Compress(bigList, filter);

            string tempfile = Path.GetRandomFileName();

            using (StreamWriter sw = File.CreateText(tempfile))
            {
                foreach (var item in compressed)
                {
                    sw.WriteLine(item.ToString());
                }
            }

            File.Copy(tempfile, dest, true);
            File.Delete(tempfile);
        }
Beispiel #2
0
        private void LoadDataFromFile()
        {
            //int offset = _inMemoryList.Count;
            // This should be optimized
            // Create few performance load tests, real life type event. 1/4/8hr tests
            lock (_storeFile)
            {
                List <DataAtom> allFile = new List <DataAtom>();

                if (File.Exists(_storeFile))
                {
                    using (StreamReader sr = File.OpenText(_storeFile))
                    {
                        string line;
                        while ((line = sr.ReadLine()) != null)
                        {
                            allFile.Add(DataAtom.FromString(line));
                        }
                    }
                }

                lock (_inMemoryList)
                {
                    _inMemoryList.Clear();
                    _inMemoryList = allFile;
                }
            }
        }
Beispiel #3
0
        private void Listener(ConcurrentQueue <DataAtom> queue)
        {
            while (!_stopRequested)
            {
                AnyPendingSignal();

                if (_isSleeping == false)
                {
                    DataAtom md = new DataAtom();
                    md.Time = DateTime.Now;

                    var process = _currentProcess.GetActiveWindowProcess();

                    md.Process = process.ProcessName;
                    md.Title   = process.MainWindowTitle;

                    queue.Enqueue(md);
                }

                System.Threading.Thread.Sleep(1000);
            }

            _timer.Dispose();
            _analyzer.Dispose();
        }
Beispiel #4
0
        static DataNode Dec(DataCommand input)
        {
            DataAtom a = input.Var(1).Value as DataAtom;

            input.Var(1).Value = new DataAtom(a.Int - 1);
            return(input.Var(1).Value);
        }
Beispiel #5
0
        protected void Button_Clicked(object sender, EventArgs e)
        {
            string name = (sender as Button).Name;

            switch (name)
            {
            case "plus":
                ratio.Text = "X" + drawing.IncreasSpeed();
                break;

            case "minus":
                ratio.Text = "X" + drawing.IDecreasSpeed();
                break;

            case "add":
                DataAtom    temp = new DataAtom();
                XmlDocument doc  = new XmlDocument();
                doc.Load(xmlDocument);
                XmlElement eml  = doc.DocumentElement;   //gets root element of xmldocument
                XmlNode    data = eml.SelectSingleNode(string.Format("element[name='{0}']", atomSelect.SelectedItem as string));
                temp.Name        = data["name"].InnerText;
                temp.Shells      = (int.Parse(data["shells"].InnerText));
                temp.Weight      = int.Parse(data["weight"].InnerText);
                temp.OuterWeight = int.Parse(data["outerweight"].InnerText);
                temp.Mol         = int.Parse(data["molecule"].InnerText);
                drawing.Add(temp);
                break;

            case "clear":
                for (int i = 0; i < drawing.Childrens.Count(); i++)
                {
                    drawing.Childrens[i] = null;
                }
                drawing.Childrens.Clear();
                break;

            case "path":
                drawing.ActivatePath();
                break;

            case "pause":
                drawing.pause();
                break;

            case "clean":
                drawing.Clean();
                break;

            case "regular":
                drawing.regView();
                break;
            }
        }