/// <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); }
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; } } }
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(); }
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); }
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; } }