📄 form1.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 + -