Problème readline

vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010 - 1 févr. 2010 à 09:24
vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010 - 3 févr. 2010 à 11:08
Voila j'ai une procédure qui me permet de parcourir les lignes d'un fichier :

while ((ligne = sr.ReadLine()) != null)
                {
                    lineNumber++;
                    if (ligne.Contains("ERROR"))
                    {
                        string va_mot;
                        va_mot = ligne.Substring(0, 1);
                        va1 = ligne.Substring(0, 4);
                        va2 = ligne.Substring(4, 2);
                        va3 = ligne.Substring(6, 2);
                        va4 = va3 + "/" + va2 + "/" + va1;
                        va5 = ligne.Substring(9, 8);
                        va6 = ligne.Substring(17);
                        listeErreurs.Add(string.Format("{0}\t{1}\t{2}\t      {3}", lineNumber, va4, va5, va6));
                        traitement ligne suivante
                        
                    }
                }


Ce que je voudrai c'est au niveau du traitement ligne suivante exécuté un traitement qui me permettrai d'aller a la ligne et de dire que si cette ligne débute par " " alors on l'ajoute a listeErreur. J'ai essayer plusieurs chose mais sans trouver la solution.

Merci d'avance.

6 réponses

vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010
1 févr. 2010 à 09:26
Plus précisément je voudrai que tant que les lignes suivantes commencent par " " alors on les ajoute a listeErreur.
0
vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010
1 févr. 2010 à 12:03
help plz
0
vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010
2 févr. 2010 à 09:27
quelqu'un aurait une idée par hasard svp???
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
2 févr. 2010 à 12:47
euh... if(line.StartWith(' ')) peut-être ?


[hr]
-Site personnel-
-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010
2 févr. 2010 à 13:48
merci pour ta réponse.

Effectivement cette ligne que tu me donne elle apparaitra dans le traitement mais ce que je voudrai savoir c'est comment je peux dire que des lors que le mot "ERROR" est trouvé dans une ligne alors on va a la ligne et on regarde si la ligne débute par " ". C'est ce "aller a la ligne" que je n'arrive pas a coder.
0
vto59 Messages postés 48 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 4 février 2010
3 févr. 2010 à 11:08
voila c'est bon j'ai trouver la solution, j'ai utiliser un booleen flag qui est a true lorsque ERROR apparait dans une ligne et a false lorsqu'une ligne comme par "2" qui est le 1er caractère d'une date (2010/01/01, toutes les lignes commencent de cette facon sauf celle situé aprés une erreur et quelques autre lignes)

Je post le code si jamais quelqu'un a se problème :

while ((ligne = sr.ReadLine()) != null)
                    {
                        lineNumber++;
                        if(ligne.StartsWith("2"))
                        {
                            flag = false;
                        }

                        if (flag == true)
                        {
                            listeErreurs.Add(string.Format("{0:0000000}/t{1}", lineNumber, ligne));
                        }
                        else
                        {
                        if (ligne.Contains(listView1.Items[i].Text))
                        {
                            flag = true;
                            va1 = ligne.Substring(0, 4);
                            va2 = ligne.Substring(4, 2);
                            va3 = ligne.Substring(6, 2);
                            va4 = va3 + "/" + va2 + "/" + va1;
                            va5 = ligne.Substring(9, 8);
                            va6 = ligne.Substring(17);
                            listeErreurs.Add(string.Format("{0:0000000}\t{1}\t{2}\t      {3}", lineNumber, va4, " " + va5, va6));
                            listeErreurs.Sort();
                            
                        }
                        }
                        Cursor.Current = Cursors.AppStarting;
                    }
                    sr.Close();


voila merci pour votre aide !
0