1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
struct StructureTrace
{
public string type;
public string date;
public string methode;
public string trace;
};
private void SurOuvrirFichier(object sender, System.EventArgs e)
{
// Préparer la fenêtre de lecture du fichier de traces
ouvrirFichier = new OpenFileDialog();
ouvrirFichier.InitialDirectory = "D:\\";
ouvrirFichier.Filter = "Fichiers de traces|*.txt;*.log|Tous les fichiers|*.*";
// Lire le fichier de traces
if(ouvrirFichier.ShowDialog() == DialogResult.OK)
{
// Vérifier que le fichier existe
FileInfo fi = new FileInfo(ouvrirFichier.FileName);
string chaine = "";
if(fi.Exists)
{
// Vider la liste si elle existe
if(listeTracesFichier.Count != 0) listeTracesFichier.Clear();
// Créer le stream
FileStream fs = new FileStream(ouvrirFichier.FileName, FileMode.Open);
StreamReader sr = new StreamReader(fs);
int compteur = 0;
do
{
// Lire une ligne
chaine = sr.ReadLine();
if(chaine != null)
{
// Création de la structure d'acueil
StructureTrace st = new StructureTrace();
// Affectation
st.type = chaine.Substring(0, chaine.IndexOf("-") - 1); chaine = chaine.Substring(chaine.IndexOf("-") + 1);
st.date = chaine.Substring(0, chaine.IndexOf("{") - 1); chaine = chaine.Substring(chaine.IndexOf("{") + 1);
st.methode = chaine.Substring(0, chaine.IndexOf("}")); chaine = chaine.Substring(chaine.IndexOf(":") + 2);
st.trace = chaine;
listeTracesFichier.Add(compteur, st);
compteur ++;
}
}while (chaine != null);
}
AfficherTraces();
}
}
private void AfficherTraces()
{
string[] donnees = new string[4];
IDictionaryEnumerator listeTracesAAfficher = listeTracesFichier.GetEnumerator();
while(listeTracesAAfficher.MoveNext())
{
// Création d'une instance de travail qui pointe sur les Tags
StructureTrace st;
// Affectation de la trace
st = (StructureTrace)listeTracesAAfficher.Value;
donnees[0] = st.date; donnees[1] = st.type;
donnees[2] = st.methode; donnees[3] = st.trace;
listeTraces.Items.Insert(0, new ListViewItem(donnees));
}
} |
Partager