181 lines
6.5 KiB
C#
181 lines
6.5 KiB
C#
|
using System;
|
|||
|
using System.IO;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace RGD.WCS
|
|||
|
{
|
|||
|
public partial class FrmBrowseDarkCasket : Form
|
|||
|
{
|
|||
|
private static FrmBrowseDarkCasket _formInstance;
|
|||
|
private static string strCurrentLog = string.Empty;
|
|||
|
private static string strFormTitle = string.Empty;
|
|||
|
private static int iCurrentDayLogs = 0;
|
|||
|
private static int iEcho = 0;
|
|||
|
|
|||
|
public static FrmBrowseDarkCasket FormInstance
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_formInstance == null)
|
|||
|
{
|
|||
|
_formInstance = new FrmBrowseDarkCasket();
|
|||
|
}
|
|||
|
return _formInstance;
|
|||
|
}
|
|||
|
set { _formInstance = value; }
|
|||
|
}
|
|||
|
|
|||
|
public FrmBrowseDarkCasket()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
_formInstance = this;
|
|||
|
}
|
|||
|
|
|||
|
private void FrmBrowseDarkCasket_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
SetColumnTitle();
|
|||
|
this.numericUpDown1.Value = this.numericUpDown1.Minimum;
|
|||
|
button1_Click(sender, e);
|
|||
|
this.Text = "浏览黑匣子:" + strFormTitle;
|
|||
|
}
|
|||
|
|
|||
|
private void SetColumnTitle()
|
|||
|
{
|
|||
|
listView1.Columns[0].Text = "通讯时间";
|
|||
|
listView1.Columns[1].Text = "接口类型";
|
|||
|
listView1.Columns[2].Text = "命令来源";
|
|||
|
listView1.Columns[3].Text = "地址/端口";
|
|||
|
listView1.Columns[4].Text = "报文内容";
|
|||
|
}
|
|||
|
|
|||
|
private void button1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string filePath = System.IO.Path.GetFullPath(System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString());
|
|||
|
filePath = System.IO.Path.GetDirectoryName(filePath);
|
|||
|
filePath = System.IO.Path.Combine(filePath, "DarkCasket");
|
|||
|
|
|||
|
if (Directory.Exists(filePath) == false)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
string[] files = Directory.GetFiles(filePath, "*.log", SearchOption.TopDirectoryOnly);//20101220,只查找LOG文件,避免查找到其它类型的文件
|
|||
|
if (files != null)
|
|||
|
{
|
|||
|
Array.Sort(files);//20100726
|
|||
|
if (files.Length < 1) return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
bool bExist = false;
|
|||
|
string tempStr = string.Empty;
|
|||
|
string str = string.Empty;
|
|||
|
|
|||
|
//Get Selected Date's log file count
|
|||
|
if (0 >= iEcho)
|
|||
|
{
|
|||
|
foreach (string strTemp in files)
|
|||
|
{
|
|||
|
if (strTemp.IndexOf(this.dateTimePicker1.Value.ToString("yyyy-MM-dd")) != -1)
|
|||
|
{
|
|||
|
iCurrentDayLogs++;
|
|||
|
}
|
|||
|
iEcho++;
|
|||
|
}
|
|||
|
this.label_TotalNo.Text = iCurrentDayLogs.ToString().Trim();
|
|||
|
if (iCurrentDayLogs > 0)
|
|||
|
{
|
|||
|
this.numericUpDown1.Maximum = iCurrentDayLogs;
|
|||
|
this.numericUpDown1.Minimum = 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.numericUpDown1.Minimum = iCurrentDayLogs;
|
|||
|
this.numericUpDown1.Maximum = iCurrentDayLogs;
|
|||
|
}
|
|||
|
}
|
|||
|
iCurrentDayLogs = 0;
|
|||
|
iEcho = 0;
|
|||
|
|
|||
|
for (int j = files.Length - 1; j > -1; j--)
|
|||
|
{
|
|||
|
str = files[j];
|
|||
|
tempStr = str.Substring(str.LastIndexOf('\\') + 1);
|
|||
|
tempStr = tempStr.Substring(0, tempStr.LastIndexOf('.'));
|
|||
|
if (tempStr == (this.dateTimePicker1.Value.ToString("yyyy-MM-dd") + "0" + this.numericUpDown1.Value.ToString().Trim()))
|
|||
|
{
|
|||
|
//string opf=files[files.Length - 1];
|
|||
|
string[] cc = new string[1] { "**" };
|
|||
|
string[] sp = null;
|
|||
|
using (StreamReader sr = new StreamReader(str))
|
|||
|
{
|
|||
|
this.listView1.Items.Clear();
|
|||
|
sr.ReadLine();
|
|||
|
while (!sr.EndOfStream)
|
|||
|
{
|
|||
|
sp = sr.ReadLine().Split(cc, StringSplitOptions.RemoveEmptyEntries);
|
|||
|
|
|||
|
// 添加判断条件过滤信息
|
|||
|
if (comboBoxDevice.SelectedIndex > 0 || comboBoxDevice.Text != String.Empty)
|
|||
|
{
|
|||
|
if (sp.Length < 4 || comboBoxDevice.Text != sp[3])
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (sp.GetLength(0) > 0)
|
|||
|
{
|
|||
|
ListViewItem lvi = new ListViewItem();
|
|||
|
lvi.Text = sp[0];
|
|||
|
for (int i = 1; i < sp.GetLength(0); i++)
|
|||
|
{
|
|||
|
lvi.SubItems.Add(sp[i]);
|
|||
|
}
|
|||
|
listView1.Items.Add(lvi);
|
|||
|
lvi = null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
strCurrentLog = str;
|
|||
|
strFormTitle = tempStr;
|
|||
|
bExist = true;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!bExist)
|
|||
|
{
|
|||
|
listView1.Items.Clear();
|
|||
|
strCurrentLog = string.Empty;
|
|||
|
strFormTitle = this.dateTimePicker1.Value.ToString("yyyy-MM-dd");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void button2_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (MessageBox.Show(this, "您确定要删除指定日志文件吗?该操作将彻底删除指定日志文件!", "系统提示:", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
|
|||
|
{
|
|||
|
if (File.Exists(strCurrentLog))
|
|||
|
{
|
|||
|
File.Delete(strCurrentLog);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox.Show("选择日期不存在黑匣子!请重新选择日期!");
|
|||
|
}
|
|||
|
this.listView1.Items.Clear();
|
|||
|
|
|||
|
button1_Click(sender, e);
|
|||
|
this.Text = "浏览黑匣子:" + strFormTitle;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void button3_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|