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

📄 form1.cs

📁 QQ聊天文字统计工具。可以按QQ号码来统计其所说的话的字数。
💻 CS
字号:
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.Threading;

namespace CheckStringTotal
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;
        }

        string filename = "D:\\1111a.txt";
        
        Thread mt;
        string qqid = "";
        int iTot = 0;


        private void button1_Click(object sender, EventArgs e)
        {
            iTot = 0;
            iLine = 0;
            this.button1.Enabled = false;
            this.textBox3.Enabled = false;
            this.textBox2.Enabled = false;
            mt = new Thread(new ThreadStart(DoWork));
            mt.Start();
            timer1.Start();
            //textBox1.Text = GetTotalStringLength(filename, "50733412").ToString();
        }

        public void DoWork()
        {
            this.progressBar1.Visible = true;
            qqid = this.textBox3.Text;
            filename = this.textBox2.Text;
            //filename = "d:\\1111a.txt";
            iTot = GetTotalStringLength(filename, qqid);
            MessageBox.Show("完成统计");
            this.progressBar1.Visible = false;
            this.button1.Enabled = true;
            this.textBox3.Enabled = true;
            this.textBox2.Enabled = true;
            this.Text = "共统计行数:" + iLine.ToString() + "   共统计字数:" + iTot.ToString();
            MessageBox.Show("QQ:" + qqid + "共统计行数:" + iLine.ToString() + "   共统计字数:" + iTot.ToString());
            //textBox1.Text = iTot.ToString();
        }

        int iLine = 0;

        public bool IsTitle(string s)
        {        
            try
            {
                string tm_s = s.Substring(0, 10);
                DateTime dt = Convert.ToDateTime(tm_s);
                return true;
            }
            catch
            {
                return false;
            }
        }
        
        public bool ContainQQ(string s, string qqid)
        {
            if (s.IndexOf(qqid) >= 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        public int GetTotalStringLength(string filename,string qqid)
        {
            StreamReader sr;
            sr = new StreamReader(filename);
            
            int tot = 0;
            try
            {
                while (!sr.EndOfStream)
                {
                    string s = sr.ReadLine();
                    
                    iLine++;
                    if (IsTitle(s) && ContainQQ(s, qqid))
                    {
                        s = sr.ReadLine();
                        iLine++;
                        while (!IsTitle(s))
                        {
                            tot += s.Length;
                            s = sr.ReadLine();
                            iLine++;
                        }
                    }
                }
            }
            catch
            { }
          
            sr.Close();
            return tot;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            this.Text = "已读取行数:" + iLine.ToString() + "   已统计字数:" + iTot.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
        }

        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            this.filename = openFileDialog1.FileName;
            this.textBox2.Text = openFileDialog1.FileName;
        }

    }
}

⌨️ 快捷键说明

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