私は単純なアプリケーションでSystem.Diagnostic.Process.Application "Y"を使用して外部プログラム "Y"を起動する "X"実行すると、アプリケーションログがテキストファイルに書き込まれます。C#の外部プログラムによって作成されたログファイルからrichtextboxへカスタムログを書き込む方法
今、私はそのApp Yログを読んでいます。ログには、ユーザーが入力して自分の言葉に置き換えてリッチテキストボックスに追加するのに難しい単語がいくつか含まれています。言葉に続き、追加として、彼らは
Mon Sep 12 19:22:56 2016 Application engine version 2.0.2016 was initiated Mon Sep 12 19:22:56 2016 Windows version 6.2 (Windows 8 or greater) Mon Sep 12 19:22:56 2016 System: 64 bits system Mon Sep 12 19:22:56 2016 checking application drivers Mon Sep 12 19:22:56 2016 Drivers not found Mon Sep 12 19:22:56 2016 Attempting to perform a task Mon Sep 12 19:22:56 2016 The task failed Mon Sep 12 19:22:56 2016 Process failed,The program is exiting
を次のようにログファイル自体は今、私は上記のそれぞれの行を交換したいと思い読み込むログファイル
private void timerLog_Tick(object sender, EventArgs e)
{
//logpath is the path to that log file
if (File.Exists(logpath))
{
Stream stream = File.Open(logpath, FileMode.Open,FileAccess.Read, FileShare.ReadWrite);
StreamReader streamReader = new StreamReader(stream);
string str = streamReader.ReadToEnd();
//rtblog is my RichTextBox
rtbLog.Text = str;
rtbLog.SelectionStart = rtbLog.Text.Length;
rtbLog.ScrollToCaret();
streamReader.Close();
stream.Close();
}
}
に書かれているよう 私の現在のコードは、読み込み私自身のカスタム単語
と私は、この
if (str.LastIndexOf("Application engine version 2.0.2016 was initiated")>0)
{
rtbLog.SelectedText= rtbLog.SelectedText+"Application engine Started";
}
else if (str.LastIndexOf("Drivers not found")>0)
{
rtbLog.SelectedText= rtbLog.SelectedText+"Drivers were not found navigate to settings Menu to install them";
}.....
0のようなものを試してみました
このコードは続行しますが、このコードは単一の最初の行を印刷するループに入ります
操作してください。次のように事前
自分のコードを使用してリッチテキストボックスに何も表示されないことは非常に悲しいです。rtbLog.Text = str;コードからもコメントされました! –
あなたのアプリで使用しているコードにコードを更新してみることができます。 –
更新されたコードは次のようになります http://pastebin.com/93XxnF77 –