Пример #1
0
 /// <summary>
 /// 在Windows浏览器中打开指定的路径,如果失败会报错。
 /// </summary>
 /// <param name="path"></param>
 public static void OpenFolderInWindows(string path)
 {
     try
     {
         if (File.Exists(path))
         {
             System.Diagnostics.Process.Start("explorer.exe", "/select, " + path + "\\" + ", /n");
         }
         else if (Directory.Exists(path))
         {
             System.Diagnostics.Process.Start("Explorer.exe", path);
         }
         else
         {
             MessageBox.Show("路径不存在,无法打开。", "打开失败", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception e1)
     {
         MessageBox.Show("路径打开失败。原因:" + e1.Message, "打开失败", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Funs.AddLog(e1.Message);
     }
 }
Пример #2
0
 /// <summary>
 /// 添加文件到日志。
 /// </summary>
 /// <param name="events">事件类型。</param>
 /// <param name="reason">原因。</param>
 /// <param name="file">相关文件。</param>
 public static void AddLog(string events, string reason, string file)
 {
     Funs.AddLog(events + "\t" + reason + "\t" + file);
 }
Пример #3
0
 /// <summary>
 /// 添加文件到日志。
 /// </summary>
 /// <param name="events">事件类型。</param>
 /// <param name="reason">原因。</param>
 public static void AddLog(string events, string reason)
 {
     Funs.AddLog(events + "\t" + reason + "\t无");
 }
Пример #4
0
        private void processTransducing()
        {
            int transed = 0;

            while (true)
            {
                //这三个时间分别表示当前时间,开始时间和结束时间。
                DateTime dt    = DateTime.Now;
                DateTime start = new DateTime(dt.Year, dt.Month, dt.Day, pd.StartTime.Hour, pd.StartTime.Minute, pd.StartTime.Second);
                DateTime end   = new DateTime(dt.Year, dt.Month, dt.Day, pd.EndTime.Hour, pd.EndTime.Minute, pd.EndTime.Second);

                //只有在开始和结束时间范围内才会开始下一次转换。
                if (pd.SupportAutoTransducer && !(dt >= start && dt <= end))
                {
                    Thread.Sleep(1);
                    continue;
                }

                try
                {
                    for (int i = 0; i < lvInputList.Items.Count; i++)
                    {
                        if (selectedonly && !lvInputList.Items[i].Checked)
                        {
                            continue;
                        }

                        InputPath ip = lvInputList.Items[i].Tag as InputPath;
                        lvInputList.Items[i].BackColor = Color.LightGray;

                        // process transducing.
                        trans.ProcessInput(ip);

                        lvInputList.Items[i].BackColor        = Color.White;
                        ip.LastTranducingTime                 = DateTime.Now;
                        lvInputList.Items[i].SubItems[2].Text = ip.LastTranducingTime.ToString();
                        transed += trans.LogList.Count(l => l.LogType == LogType.Success);
                        //处理完成后,把日志添加到日志列表中去。日志存放在trans.LogList中。
                        for (int j = 0; j < trans.LogList.Count; j++)
                        {
                            TransLog log = trans.LogList[j];
                            //编号,0.时间,1.事件,2.原因,3.输出文件
                            lvLogs.Items.Insert(0, new ListViewItem(log.GetStrings()));
                            //Funs.AddLog(log.LogType.ToString(), log.Content, log.Output);
                            Funs.AddLog(log);
                        }
                    }

                    Thread.Sleep(100);
                    Application.DoEvents();
                }
                catch (Exception e1)
                {
                    Funs.AddLog("TRANS", "NONE", e1.Message);
                }



                if (!pd.SupportAutoTransducer || !pd.AutoTransducerAvaliable)
                {
                    Reset();
                    MessageBox.Show("转换完成。\n共转换 " + transed + "个文件。", "转换完成", MessageBoxButtons.OK);
                    break;
                }

                trans.LogList.Clear();
                Application.DoEvents();
                Thread.Sleep(pd.getCircleInterval() * 1000);
            }
        }