- ublic static DataTable FindScheduledTask(string sTaskName)
- {
- //Debut Declaration
- string strDirFichier = "C:\\WINDOWS\\TASKS\\SchedLgU.Txt"; //Dir Fichier log tahce plani
- FileStream fs = new FileStream(strDirFichier, FileMode.Open); //ouverture fichier log
- StreamReader sr = new StreamReader(fs, true); //Lecture
- int iPosition; //Pointeur recherche de caratère dans ligne
- int iIndex1; //Index de debut de mot
- int iIndex2; //Index de fin de mot
- int iLenIndex; //Longueur du mot
- string sLigne; //Ligne lue
- string sLigneJobName; //Nom de la tache recupérée dans ligne
- string sLigneProgName; //Nom du programme recup
- string sLigneCodeSortie; //Code Sortie recup
- DateTime dtLigneDateFin; //Date Exec recup
- DataTable dt = new DataTable(); //Tableau retourné
- DataRow drNew; //Datarow d'insertion sur dt
- DataView dv = new DataView(dt); //DataView de lecture de dt
-
- dt.Columns.Add("Job", typeof(string)); //Création structure de dt
- dt.Columns.Add("Prog", typeof(string));
- dt.Columns.Add("Type", typeof(string));
- dt.Columns.Add("DateFin", typeof(string));
- dt.Columns.Add("Sortie", typeof(string));
- sLigne = sr.ReadLine();
-
- while (sLigne!=null) //Tant que il y a des lignes de log
- {
- iPosition = sLigne.IndexOf(sTaskName); //Verif si ligne consernant la tache
- if (iPosition != -1)
- {
- sLigneJobName = sTaskName; //Recup du nom de la tache
-
- iIndex1 = sLigne.IndexOf("(") + 1; //Recup du nom du programme
- iIndex2 = sLigne.IndexOf(")");
- iLenIndex = iIndex2 - iIndex1;
- sLigneProgName = sLigne.Substring(iIndex1,iLenIndex);
-
- //Contôle d'avertissement
- iPosition = sLigne.IndexOf("AVERTISSEMENT");
- if (iPosition != -1)
- {
- dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(iIndex2 + 1, 19));
- int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
- if (i == 0)
- {
- drNew = dt.NewRow();
- drNew["Job"] = sLigneJobName;
- drNew["Prog"] = sLigneProgName;
- drNew["Type"] = "AVERTISSEMENT";
- drNew["DateFin"] = dtLigneDateFin;
- drNew["Sortie"] = "NON TERMINEE";
- dt.Rows.Add(drNew);
- }
- }
- //Fin Contôle d'avertissement
-
- else
- {
- sLigne = sr.ReadLine(); //Ligne suivante
-
- iPosition = sLigne.IndexOf("Quitté"); //Si Conserne Tache Quittée
- if (iPosition != -1)
- {
- dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(9));
- int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
- if (i == 0)
- { //recup du code sortie
- sLigne = sr.ReadLine();
- iIndex1 = sLigne.IndexOf("(") + 1;
- iIndex2 = sLigne.IndexOf(")");
- iLenIndex = iIndex2 - iIndex1;
- sLigneCodeSortie = sLigne.Substring(iIndex1, iLenIndex);
-
- //memo dans tableau
- drNew = dt.NewRow();
- drNew["Job"] = sLigneJobName;
- drNew["Prog"] = sLigneProgName;
- drNew["Type"] = "Quitté";
- drNew["DateFin"] = dtLigneDateFin;
- drNew["Sortie"] = sLigneCodeSortie;
- dt.Rows.Add(drNew);
- //Fin memo dans tableau
- }
- }
- else
- {
- iPosition = sLigne.IndexOf("Démarré"); //Si Conserne Tache Démarré
- if (iPosition != -1)
- {
- dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(10));
- int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
- if (i == 0)
- {
- //memo dans tableau dt
- drNew = dt.NewRow();
- drNew["Job"] = sLigneJobName;
- drNew["Prog"] = sLigneProgName;
- drNew["Type"] = "Démarré";
- drNew["DateFin"] = dtLigneDateFin;
- dt.Rows.Add(drNew);
- // Fin memo dans tableau
- }
- }
- }
- }
- }
-
- sLigne = sr.ReadLine();
- }
- sr.Close();
- fs.Close();
- return (dt);
- }
ublic static DataTable FindScheduledTask(string sTaskName)
{
//Debut Declaration
string strDirFichier = "C:\\WINDOWS\\TASKS\\SchedLgU.Txt"; //Dir Fichier log tahce plani
FileStream fs = new FileStream(strDirFichier, FileMode.Open); //ouverture fichier log
StreamReader sr = new StreamReader(fs, true); //Lecture
int iPosition; //Pointeur recherche de caratère dans ligne
int iIndex1; //Index de debut de mot
int iIndex2; //Index de fin de mot
int iLenIndex; //Longueur du mot
string sLigne; //Ligne lue
string sLigneJobName; //Nom de la tache recupérée dans ligne
string sLigneProgName; //Nom du programme recup
string sLigneCodeSortie; //Code Sortie recup
DateTime dtLigneDateFin; //Date Exec recup
DataTable dt = new DataTable(); //Tableau retourné
DataRow drNew; //Datarow d'insertion sur dt
DataView dv = new DataView(dt); //DataView de lecture de dt
dt.Columns.Add("Job", typeof(string)); //Création structure de dt
dt.Columns.Add("Prog", typeof(string));
dt.Columns.Add("Type", typeof(string));
dt.Columns.Add("DateFin", typeof(string));
dt.Columns.Add("Sortie", typeof(string));
sLigne = sr.ReadLine();
while (sLigne!=null) //Tant que il y a des lignes de log
{
iPosition = sLigne.IndexOf(sTaskName); //Verif si ligne consernant la tache
if (iPosition != -1)
{
sLigneJobName = sTaskName; //Recup du nom de la tache
iIndex1 = sLigne.IndexOf("(") + 1; //Recup du nom du programme
iIndex2 = sLigne.IndexOf(")");
iLenIndex = iIndex2 - iIndex1;
sLigneProgName = sLigne.Substring(iIndex1,iLenIndex);
//Contôle d'avertissement
iPosition = sLigne.IndexOf("AVERTISSEMENT");
if (iPosition != -1)
{
dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(iIndex2 + 1, 19));
int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
if (i == 0)
{
drNew = dt.NewRow();
drNew["Job"] = sLigneJobName;
drNew["Prog"] = sLigneProgName;
drNew["Type"] = "AVERTISSEMENT";
drNew["DateFin"] = dtLigneDateFin;
drNew["Sortie"] = "NON TERMINEE";
dt.Rows.Add(drNew);
}
}
//Fin Contôle d'avertissement
else
{
sLigne = sr.ReadLine(); //Ligne suivante
iPosition = sLigne.IndexOf("Quitté"); //Si Conserne Tache Quittée
if (iPosition != -1)
{
dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(9));
int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
if (i == 0)
{ //recup du code sortie
sLigne = sr.ReadLine();
iIndex1 = sLigne.IndexOf("(") + 1;
iIndex2 = sLigne.IndexOf(")");
iLenIndex = iIndex2 - iIndex1;
sLigneCodeSortie = sLigne.Substring(iIndex1, iLenIndex);
//memo dans tableau
drNew = dt.NewRow();
drNew["Job"] = sLigneJobName;
drNew["Prog"] = sLigneProgName;
drNew["Type"] = "Quitté";
drNew["DateFin"] = dtLigneDateFin;
drNew["Sortie"] = sLigneCodeSortie;
dt.Rows.Add(drNew);
//Fin memo dans tableau
}
}
else
{
iPosition = sLigne.IndexOf("Démarré"); //Si Conserne Tache Démarré
if (iPosition != -1)
{
dtLigneDateFin = System.DateTime.Parse(sLigne.Substring(10));
int i = DateTime.Compare(dtLigneDateFin.Date, DateTime.Now.Date.AddDays(-1));
if (i == 0)
{
//memo dans tableau dt
drNew = dt.NewRow();
drNew["Job"] = sLigneJobName;
drNew["Prog"] = sLigneProgName;
drNew["Type"] = "Démarré";
drNew["DateFin"] = dtLigneDateFin;
dt.Rows.Add(drNew);
// Fin memo dans tableau
}
}
}
}
}
sLigne = sr.ReadLine();
}
sr.Close();
fs.Close();
return (dt);
}