/// <summary> /// 加载题库文件 /// </summary> private void LoadTopicDB() { try { listSubject.Clear(); DirectoryInfo directoryInfo = new DirectoryInfo(Application.StartupPath + @"\data"); FileInfo[] fileInfo = directoryInfo.GetFiles("*.sdbt"); //只取.sdbt文件 foreach (FileInfo item in fileInfo) { if (item.Extension.ToLower() == ".sdbt") { string subjectId = Path.GetFileNameWithoutExtension(item.Name); string[] temp = subjectId.Split('_'); if (temp.Length == 0) { continue; } if (temp[0] != PublicClass.StudentCode) { continue; } M_SubjectProp mSubjectProp = bSubjectProp.GetSubjectProp(Path.GetFileName(item.Name)); M_ExerciseSubjectDetail subject = new M_ExerciseSubjectDetail(); subject.TopicDBCode = mSubjectProp.TopicDBCode; subject.SubjectName = mSubjectProp.SubjectName; subject.TopicDBVersion = mSubjectProp.TopicDBVersion; subject.FileName = mSubjectProp.EnvFileName; subject.TopicFilePath = item.FullName; subject.VideoFileName = Path.GetFileNameWithoutExtension(mSubjectProp.MediaPackageFileName); listSubject.Add(subject); } } DataBindTopicDB(); } catch (Exception ex) { LogHelper.WriteLog(typeof(frmExercise), ex); CommonUtil.WriteLog(ex); } }
/// <summary> /// 删除题库文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDeleteTopicDB_Click(object sender, EventArgs e) { string sdbFile = ""; string sdbtFile = ""; if (dgvTopicDB.SelectedRows.Count <= 0) { return; } DialogResult dialogResult = PublicClass.ShowMessageOKCancel("您确定要删除吗?"); if (dialogResult == DialogResult.OK) { try { M_ExerciseSubjectDetail subject = dgvTopicDB.SelectedRows[0].DataBoundItem as M_ExerciseSubjectDetail; sdbFile = subject.TopicFilePath; sdbtFile = subject.TopicFilePath.Substring(0, subject.TopicFilePath.Length - 1); DirFileHelper.DeleteFile(sdbFile); DirFileHelper.DeleteFile(sdbtFile); } catch (IOException) { string errorMessage = string.Format("无法删除该文件,文件正在被另一个人或程序使用。\n关闭任何可能使用这个文件的程序,重新试一次。"); PublicClass.ShowErrorMessageOk(errorMessage); } catch (Exception ex) { PublicClass.ShowMessageOk(ex.Message); } finally { //刷新列表 LoadTopicDB(); } } }