private void EndRecording() { if (_stream != null) { var record = new NodeSystemLib.FileFormatLib.Record(); var line = new NodeSystemLib.FileFormatLib.RecordLineStream1D( DateTime.Now, _firstWrittenSampleTime, _firstWrittenSampleTime.Add(_writtenSamples, _portData.Samplerate), GetRelativePath(_stream.Name, Parent.WorkingDirectory), _portData.Samplerate ); record.Lines.Add(line); _set.AddRecord(record); NodeSystemLib.FileFormatLib.RecordSetWriter.WriteToFile(_set, System.IO.Path.Combine(Parent.WorkingDirectory, "index.lst")); } _firstWrittenSampleTime = TimeStamp.Zero(); _writtenSamples = 0; _recording = false; _stream?.Close(); _stream?.Dispose(); _binWriter = null; _stream = null; }
public bool StayFiveMinutes(DateTime timeStampReq) { var moreFiveMinutes = TimeStamp.Add(new TimeSpan(0, 5, 0)); var lessFiveMinutes = TimeStamp.Subtract(new TimeSpan(0, 5, 0)); return(timeStampReq >= lessFiveMinutes && timeStampReq <= moreFiveMinutes); }
public void CalculateTimes() { TimeStamp time = Ticks[0].Time; TimeStamp startTime = new TimeStamp(time.Year, time.Month, time.Day); startTime.Add(sessionStart); for (int i = 0; i < randomEntries.Length; i++) { randomEntries[i] = startTime; randomEntries[i].AddSeconds(random.Next(0, sessionHours * 60 * 60)); } Array.Sort(randomEntries, 0, randomEntries.Length); randomIndex = 0; firstSession = true; }
private void UpdateTimeStamp() { try { TimeStamp = TimeStampDate; TimeSpan?ts = StringToTimeSpan(TimeStampTime); if (ts != null) { TimeStamp = TimeStamp.Add(ts.Value); } } catch (Exception e) { _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }
// 仅根据 path 和 ContentFile 读取文件 public async Task <bool> LoadFromFile() { var Folder = await StorageFolder.GetFolderFromPathAsync(Path.GetDirectoryName(path)); if (Folder == null) { return(false); } var File = await Folder.GetFileAsync(Path.GetFileName(path)); if (File == null) { return(false); } var _ContentFile = await Folder.GetFileAsync(ContentFile); if (_ContentFile == null) { return(false); } TimeStamp.Clear(); string FileContent; using (Stream file = await File.OpenStreamForReadAsync()) { using (StreamReader read = new StreamReader(file)) { FileContent = read.ReadToEnd(); } } using (StringReader strRdr = new StringReader(FileContent)) { //通过XmlReader.Create静态方法创建XmlReader实例 using (XmlReader rdr = XmlReader.Create(strRdr)) { //循环Read方法直到文档结束 while (rdr.Read()) { //如果是开始节点 if (rdr.NodeType == XmlNodeType.Element) { //通过rdr.Name得到节点名 string elementName = rdr.Name; if (elementName == "Url") { //读取到节点内文本内容 if (rdr.Read()) { //通过rdr.Value获得文本内容 Url = rdr.Value; } } if (elementName == "ContentFile") { if (rdr.Read()) { if (string.Compare(ContentFile, rdr.Value) != 0) { Debug.WriteLine("读取的内容和保存的内容不符合"); } } } if (elementName == "TimeStampItem") { if (rdr.Read()) { TimeStamp.Add(DateTime.ParseExact(rdr.Value, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture)); } } } } } } using (Stream file = await _ContentFile.OpenStreamForReadAsync()) { using (StreamReader read = new StreamReader(file)) { Content = read.ReadToEnd(); } } return(true); }