public PlaybackForm(NationFileInfo EegFile) { InitializeComponent(); natfileinfo = new NatFileInfo(EegFile.NedFullName); pationinfo = new PationInfo(EegFile.NedFullName, natfileinfo.PatOff); _Page = 0; try { _nfi = EegFile; } catch { } }
private void toolButtonAssociate_Click(object sender, EventArgs e) { _player.Stop(); int idxFile = lvFiles.SelectedIndices[0]; int idxVideo = lvVideoFiles.SelectedIndices[0]; NationFileInfo nfi = _eegFiles[idxFile]; VideoFileInfo vfi = _videoFiles[idxVideo]; //xcg string vfidate = vfi.StartTime.ToString("yyyy:MM:dd"); string nfidate = nfi.StartTime.ToString("yyyy:MM:dd"); if (string.Equals(vfidate, nfidate)) { bool videoStartLate = vfi.StartTime > nfi.StartTime; bool videoStopBefore = (vfi.StartTime + vfi.Duration) < (nfi.StartTime + nfi.Duration); List <string> msg = new List <string>(); if (videoStartLate) { msg.Add("视频开始时间晚于脑电开始时间"); } if (videoStopBefore) { msg.Add("视频结束时间早于脑电结束时间"); } if (videoStartLate || videoStopBefore) { MessageBox.Show(string.Join("\n", msg), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MessageBox.Show( string.Format("要关联脑电[{0}:{1}]和视频[{2}]吗?", nfi.SerialNo, nfi.Patient, vfi.StartTime.ToString("s").Replace('T', ' ')), "关联视频", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { File.Move(vfi.FileFullName, DefaultConfig.AssociatedVideoPath + @"\" + nfi.SerialNo + "_" + ((int)(nfi.StartTime - vfi.StartTime).TotalMilliseconds).ToString() + ".MP4"); RefreshFiles(); } } //xcg else { MessageBox.Show("视频和脑电数据的记录日期不一样,无法进行关联!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void LoadEegDataList() { _eegFiles.Clear(); DirectoryInfo diTop = new DirectoryInfo(DefaultConfig.EegDataPath); lvFiles.BeginUpdate(); lvFiles.Items.Clear(); foreach (var sub in diTop.EnumerateDirectories()) { foreach (var file in sub.EnumerateFiles("*.NED")) { try { NationFileInfo nfi = new NationFileInfo(file.FullName); _eegFiles.Add(nfi); } catch { } } } _eegFiles.Sort(new NationFileInfoComparer()); foreach (NationFileInfo nfi in _eegFiles) { string dt = nfi.StartTime.ToString("s").Replace('T', ' '); string marker = nfi.HasVideo ? "V" : ""; ListViewItem lvi = new ListViewItem(marker); lvi.SubItems.Add(nfi.SerialNo); lvi.SubItems.Add(nfi.Patient); TimeSpan ts = nfi.Duration; string tsText = (ts.Days * 24 + ts.Hours).ToString() + ts.ToString(@"\:mm\:ss"); lvi.SubItems.Add(tsText); lvi.SubItems.Add(dt); lvFiles.Items.Add(lvi); } lvFiles.EndUpdate(); }