Esempio n. 1
0
        public PlaybackForm(NationFileInfo EegFile)
        {
            InitializeComponent();
            natfileinfo = new NatFileInfo(EegFile.NedFullName);
            pationinfo  = new PationInfo(EegFile.NedFullName, natfileinfo.PatOff);

            _Page = 0;
            try
            {
                _nfi = EegFile;
            }
            catch
            { }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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();
        }