Beispiel #1
0
 /*
  * 计算并更新进度条
  */
 static public void UpdateCheckingProgress(RunningEnv runningEnv)
 {
     try
     {
         int num1 = Directory.GetFiles(runningEnv.CheckData.ToCheckPaperPath).Length;
         int num2 = Directory.GetFiles(RunningEnv.ProgramParam.ToCheckTxtPaperPath).Length;
         int num3 = Directory.GetFiles(RunningEnv.ProgramParam.ReportPath).Length;
         int num4 = Directory.GetFiles(runningEnv.CheckData.FinalReportPath).Length;
         if (num2 > 0)
         {
             int temp = (int)(35.0 * Math.Min(1.0, 1.0 * num2 / Math.Max(1, num1))
                              + 60.0 * Math.Min(1.0, 1.0 * num3 / Math.Max(num2, 1))
                              + 5.0 * Math.Min(1.0, 1.0 * num4 / Math.Max(num3, 1)));
             temp = Math.Min(100, temp + 1);
             if (temp >= 0)
             {
                 runningEnv.UIContext.BeginInvoke(new Action(() =>
                 {
                     runningEnv.UIContext.pbCheckingProgress.Value = temp;
                 }));
             }
         }
     }
     catch (Exception)
     { }
 }
Beispiel #2
0
        /*
         * 保存设置到配置文件,忽略错误
         */
        static public void SaveConfig(RunningEnv runningEnv)
        {
            FileStream   fs = null;
            StreamWriter sw = null;

            try
            {
                fs = new FileStream("config.ini", FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs);
                sw.WriteLine(runningEnv.CheckData.CheckThreshold);
                sw.WriteLine(runningEnv.SettingData.CheckThreadCnt);
                sw.WriteLine(runningEnv.SettingData.ConvertThreadCnt);
                if (runningEnv.SettingData.SuportPdf)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportTxt)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportDoc)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportDocx)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
            }
            catch
            {
            }
            finally
            {
                if (sw != null)
                {
                    sw.Close();
                }
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }
        public ConvertCore GetConverter(string type, RunningEnv runningEnv)
        {
            type = type.ToLower();
            //判断支持该格式
            if ("doc".Equals(type) && !runningEnv.SettingData.SuportDoc ||
                "docx".Equals(type) && !runningEnv.SettingData.SuportDocx ||
                "pdf".Equals(type) && !runningEnv.SettingData.SuportPdf ||
                "txt".Equals(type) && !runningEnv.SettingData.SuportTxt)
            {
                return(null);
            }
            //获取对应的转换器
            switch (type)
            {
            case "doc":
            case "docx":
                return(_wordConverter);

            case "pdf":
                return(_pdfConverter);

            case "txt":
                return(_txtConverter);

            default:
                return(null);
            }
        }
Beispiel #4
0
        /*
         * 重置
         */
        static public void ResetProgram(RunningEnv runningEnv)
        {
            //确认提示
            DialogResult dr = MessageBox.Show("重置后系统将关闭,是否继续重置?", "提示", MessageBoxButtons.OKCancel);

            if (dr != DialogResult.OK)
            {
                return;
            }
            //删除历史文件
            DeleteOldFile();
            //强制退出程序
            ForceStop();
        }
Beispiel #5
0
        /*
         * 读取配置文件,忽略错误
         */
        static public RunningEnv ReadConfig(MainForm mainForm)
        {
            RunningEnv runningEnv = new RunningEnv(mainForm);

            if (File.Exists("config.ini"))
            {
                StreamReader sr = null;
                try
                {
                    sr = new StreamReader("config.ini", Encoding.GetEncoding("GBK"));
                    runningEnv.CheckData.CheckThreshold     = int.Parse(sr.ReadLine());
                    runningEnv.SettingData.CheckThreadCnt   = int.Parse(sr.ReadLine());
                    runningEnv.SettingData.ConvertThreadCnt = int.Parse(sr.ReadLine());
                    string line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportPdf = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportTxt = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportDoc = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportDocx = false;
                    }
                }
                catch
                {
                }
                finally
                {
                    if (sr != null)
                    {
                        sr.Close();
                    }
                }
            }
            return(runningEnv);
        }
Beispiel #6
0
 /*
  * 展示RunningEnv中的错误信息
  */
 static public void ShowErrorMsg(RunningEnv runningEnv)
 {
     if (runningEnv.CheckingData.ErrorPaperList.Count > 0)
     {
         StringBuilder error_msg = new StringBuilder("以下论文出现错误,请检查:\r\n");
         foreach (string paper_name in runningEnv.CheckingData.ErrorPaperList)
         {
             error_msg.Append("●" + paper_name + "\r\n");
         }
         error_msg.Append("\r\n可能是以下原因导致:\r\n1、pdf或word文件存在只读密码、打开密码或防复制保护,请将保护取消。\r\n" +
                          "2、pdf或word文件为图片或扫描件。系统无法对扫描件和图片进行查重,建议使用office word来生成pdf。\r\n" +
                          "3、出错文件已经损坏无法正常打开,请尝试将上述文件诸葛打开检查。\r\n" +
                          "4、文件的大小、字数小于所设阈值。\r\n" +
                          "5、出错的word文件为非标文件,请使用office word打开,另存为新的word文件后再进行查重。");
         runningEnv.UIContext.BeginInvoke(new Action(() =>
         {
             MessageBox.Show(runningEnv.UIContext, error_msg.ToString(), "提示");
         }));
     }
 }
Beispiel #7
0
 public PaperManager(RunningEnv env)
 {
     runningEnv = env;
 }
Beispiel #8
0
        /*
         * 保存设置到配置文件,忽略错误
         */
        static public void SaveConfig(RunningEnv runningEnv)
        {
            FileStream   fs = null;
            StreamWriter sw = null;

            try
            {
                fs = new FileStream("config.ini", FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs, Encoding.GetEncoding("GBK"));

                sw.WriteLine(runningEnv.CheckData.CheckWay);

                sw.WriteLine(runningEnv.CheckData.CheckThreshold);
                sw.WriteLine(runningEnv.SettingData.CheckThreadCnt);
                sw.WriteLine(runningEnv.SettingData.ConvertThreadCnt);

                sw.WriteLine(runningEnv.CheckData.MinBytes);
                sw.WriteLine(runningEnv.CheckData.MinWords);

                sw.WriteLine(runningEnv.CheckData.ToCheckPaperPath);
                sw.WriteLine(runningEnv.CheckData.FinalReportPath);
                sw.WriteLine(runningEnv.LibraryData.PaperSourcePath);

                sw.WriteLine(runningEnv.CheckData.Blocklist);

                if (runningEnv.SettingData.SuportPdf)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportTxt)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportDoc)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.SettingData.SuportDocx)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
                if (runningEnv.CheckData.StatisTable)
                {
                    sw.WriteLine("1");
                }
                else
                {
                    sw.WriteLine("0");
                }
            }
            catch
            {
            }
            finally
            {
                if (sw != null)
                {
                    sw.Close();
                }
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }
Beispiel #9
0
        /*
         * 读取配置文件,忽略错误
         */
        static public RunningEnv ReadConfig(MainForm mainForm)
        {
            RunningEnv runningEnv = new RunningEnv(mainForm);

            if (File.Exists("config.ini"))
            {
                StreamReader sr = null;
                try
                {
                    sr = new StreamReader("config.ini", Encoding.GetEncoding("GBK"));

                    runningEnv.CheckData.CheckWay = int.Parse(sr.ReadLine());

                    runningEnv.CheckData.CheckThreshold     = int.Parse(sr.ReadLine());
                    runningEnv.SettingData.CheckThreadCnt   = int.Parse(sr.ReadLine());
                    runningEnv.SettingData.ConvertThreadCnt = int.Parse(sr.ReadLine());

                    runningEnv.CheckData.MinBytes = int.Parse(sr.ReadLine());
                    runningEnv.CheckData.MinWords = int.Parse(sr.ReadLine());

                    runningEnv.CheckData.ToCheckPaperPath  = sr.ReadLine();
                    runningEnv.CheckData.FinalReportPath   = sr.ReadLine();
                    runningEnv.LibraryData.PaperSourcePath = sr.ReadLine();

                    runningEnv.CheckData.Blocklist = sr.ReadLine();

                    string line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportPdf = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportTxt = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportDoc = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.SettingData.SuportDocx = false;
                    }
                    line = sr.ReadLine();
                    if (line == "0")
                    {
                        runningEnv.CheckData.StatisTable = false;
                    }
                }
                catch
                {
                }
                finally
                {
                    if (sr != null)
                    {
                        sr.Close();
                    }
                }
            }
            return(runningEnv);
        }