⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 cics文本日志分析
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Resources;
using System.Collections;
using Txt2Sheet.myUtil;
using Excel;


namespace Txt2Sheet
{
    public partial class frmMain : Form
    {
        private ResourceManager m_ResourceManager = new ResourceManager("Txt2Sheet.myRes", System.Reflection.Assembly.GetExecutingAssembly());
        private string[] m_DataItem;
        private string[] m_dataPosition;
        private string[] m_dataTimes;
        private string[] m_dataIgnore;
        private TxtData[] m_data;
        private StringBuilder[] m_DataString;
        private Hashtable m_DataItemMapID;
        private string m_reportDate;
        private string m_reportTime;
        private string m_applID;
        private string m_jobName;
        private bool m_ControlsLocked = false;
        public frmMain()
        {
            m_DataItemMapID = new Hashtable();
            m_reportDate = string.Empty;
            m_reportTime = string.Empty;
            m_applID = string.Empty;
            m_jobName = string.Empty;
            InitializeComponent();
        }

        private void btnOpenTxt_Click(object sender, EventArgs e)
        {
            
            lstListFile.Items.Clear();
            openTxt.ShowDialog();
            foreach(string filename in openTxt.FileNames)
            {
                lstListFile.Items.Add(filename);
            }

        }
        private void readTxtFile(string filename,string[] dataItem)
        {
            StreamReader sr = null;
            bool isData = false;
            bool ishead = false;
            bool isTitle = false;
            string head = "";
            int i = 0;
            int id = -1;
            int tmpInt = 0;
            int currPosition=0;
            string reportDate = "";
            string reportTime = "";
            string applID = "";
                try
                {
                    sr = new StreamReader(filename);

                    for (string txtline = sr.ReadLine(); txtline != null; txtline = sr.ReadLine())
                    {
                        i = i + 1;
                        if (txtline.Length > 1)
                        {
                            if (!txtline.Substring(0, 1).Equals("+"))
                            {
                                if (ishead)
                                {
                                    head = txtline;
                                    ishead = false;
                                }
                                if (txtline.Substring(0, 1).Equals("1"))
                                {
                                    ishead = true;
                                    isData = false;
                                    tmpInt = txtline.IndexOf(m_reportDate) + m_reportDate.Length;
                                    txtline = txtline.Substring(tmpInt).Trim();
                                    reportDate = txtline.Substring(0, txtline.IndexOf(" "));
                                    tmpInt = txtline.IndexOf(m_reportTime) + m_reportTime.Length;
                                    txtline = txtline.Substring(tmpInt).Trim();
                                    reportTime = txtline.Substring(0, txtline.IndexOf(" "));
                                }
                                foreach (string itemName in dataItem)
                                {
                                    if (txtline.IndexOf(itemName) > 0)
                                    {
                                        id = getDataItemID(itemName);
                                        isTitle = true;                                        
                                        m_data[id].m_totalTimes = m_data[id].m_totalTimes + 1;
                                        if (head.IndexOf(m_applID) > 0)
                                        {
                                            tmpInt = head.IndexOf(m_applID)+m_applID.Length;
                                            head=head.Substring(tmpInt).Trim();
                                            applID = head.Substring(0, head.IndexOf(" "));
                                            m_DataString[id].AppendLine(itemName);
                                            m_DataString[id].AppendLine(applID);
                                            m_DataString[id].AppendLine(reportDate);
                                            m_DataString[id].AppendLine(reportTime);
                                            break;
                                        }
                                        
                                    }
                                }
                                //是表名
                                if (isTitle)
                                {
                                    isData = true;
                                    isTitle = false;
                                    currPosition = 0;
                                    continue;
                                }

                                if (!(txtline.Substring(0, 1).Equals("0") || txtline.Substring(0, 1).Equals(" ") || txtline.Substring(0, 1).Equals("-")))
                                {
                                    currPosition = 0;                                   
                                    isData = false;

                                }
                                if (isData)
                                {
                                    
                                    if ((m_data[id].m_totalTimes % m_data[id].m_dataTimes) == 0)
                                    {
                                        currPosition = currPosition + 1;
                                        if (currPosition > m_data[id].m_dataBeginRow )
                                        {

                                            m_DataString[id].AppendLine(txtline.Substring(2, txtline.Length - 2));
                                            m_data[id].m_data.Append(applID);
                                            m_data[id].m_data.Append(reportDate);
                                            m_data[id].m_data.Append(reportTime);
                                            m_data[id].m_data.Append(txtline.Substring(2, txtline.Length - 2));
                                        }
                                    }
                                    
                                }                                
                            }
                        }
                        label1.Text = i.ToString();
                        label1.Refresh();
                    }               

                }
                catch (IOException ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                finally
                {
                    sr.Close();
                }


        }

        private void btnAnalyse_Click(object sender, EventArgs e)
        {
            string filename =string.Empty;
            string[] dataTile = m_DataItem;
            label2.Text = DateTime.Now.ToLocalTime().ToShortTimeString();
            label2.Refresh();
            txtFile.Text = "";
            btnAnalyse.Enabled = false;
            LockControls(true);
            for (int i = 0; i < lstListFile.Items.Count; i++)
            {
                filename = (string)lstListFile.Items[i];
                lstListFile.SetSelected(i,false);
                this.Refresh();
                if (File.Exists(filename))
                {
                    readTxtFile(filename, dataTile);
                }
                else
                {
                    MessageBox.Show("文件不存在!");
                }
            }

            for (int i = 1; i < m_DataString.Length; i++)
            {
                m_DataString[0].Append(m_DataString[i]);
            }
            txtFile.Text = m_DataString[0].ToString();
            LockControls(false);
            btnAnalyse.Enabled = true;
            if (filename==null) return;
            label3.Text = DateTime.Now.ToLocalTime().ToShortTimeString();
            label3.Refresh();

        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            initTxt2Sheet();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -