private void ファイルからインポートToolStripMenuItem_Click(object sender, EventArgs e) { FF14FastReport.OpenGameLogFolderForm frm = new FF14FastReport.OpenGameLogFolderForm(); if (frm.ShowDialog(this) == DialogResult.OK) { FFXIVLogFileReader fr = new FFXIVLogFileReader(frm.SelectedFolder); FF14LogParser actionReport = new FF14LogParser(); foreach (FFXIVLog log in fr.GetLogs()) { actionReport.Add(log); } bindingSource1.DataSource = actionReport.ds; bindingSource1.DataMember = "Anaylzed"; } }
private void ログのインポートToolStripMenuItem_Click(object sender, EventArgs e) { try { FF14FastReport.OpenGameLogFolderForm frm = new FF14FastReport.OpenGameLogFolderForm(); if (frm.ShowDialog(this) == DialogResult.OK) { if (Directory.Exists(frm.SelectedFolder)) { FFXIVLogFileReader fr = new FFXIVLogFileReader(frm.SelectedFolder); FF14LogParser _ar = new FF14LogParser(); FFXIVLog[] logs = fr.GetLogs(); SetStatus(logs.Length + "行のログを解析しています。"); Application.DoEvents(); System.Threading.ThreadStart ts = () => { foreach (FFXIVLog log in logs) { _ar.Add(log); } }; System.Threading.Thread th = new System.Threading.Thread(ts); th.Start(); while (th.IsAlive) { SetProgress(100 * _ar.ds.Anaylzed.Count / logs.Length, true); Application.DoEvents(); System.Threading.Thread.Sleep(100); } SetProgress(0, false); SetStatus("読み込みが完了しました"); Application.DoEvents(); actionReport = _ar; データ範囲指定ToolStripMenuItem_Click(this, null); } } } catch { MessageBox.Show("ログファイルの読み込みに失敗しました。"); } }