J'ai l'application simple nommons-le "X" qui lance le programme externe "Y" en utilisant System.Diagnostic.Process.Application "Y" l'exécution écrit le journal d'application dans le fichier texte.comment écrire un journal personnalisé à richtextbox à partir d'un fichier journal créé par un programme externe en C#
Maintenant, je veux lire cette application "Y" journal et si le journal contient des mots qui sont difficiles à l'utilisateur à entepret et les remplacer par mes propres mots et les ajouter à la zone de texte enrichi. Mon code actuel se lit comme suit et ajoute les mots comme ils sont écrits dans le fichier journal
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();
}
}
Le fichier journal se lit comme suit
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
Maintenant, je voudrais remplacer chaque ligne ci-dessus avec mes propres mots personnalisés
J'ai essayé quelque chose comme ça
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";
}.....
L'autre si continue, mais ce code entre dans une boucle d'impression d'une seule première ligne
s'il vous plaît des manipulations?
Merci à l'avance
Il est très triste que rien est venu dans le richtextbox en utilisant votre propre code rtbLog.Text = str; a été commenté à partir du code aussi! –
Pouvez-vous mettre à jour le code à celui que vous utilisez dans votre application afin que je puisse jeter un coup d'oeil. –
Le code mis à jour se lit comme ceci http://pastebin.com/93XxnF77 –