Compteur de lignes

ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 - 1 févr. 2008 à 18:40
 Utilisateur anonyme - 2 févr. 2008 à 21:38
Bonjour, je suis en train d'élaborer un compteur de ligne pour toute sorte de projet .net (pour le moment) puis extrapoler vers tout types de fichiers (que je connais et qui je pense serais utile aux programmeur désireur de savoir combien de ligne font leurs programme ...).
Seulement je aimerais savoir comment on pourrait reconnaitre une ligne avec un commentaire. Bien sur j'ai cherché sur le forum et dans les sources vb.net mais rien n'était fiable...
De même reconnaitre le nombre de ligne auquel il n'y a aucun caractère.
Je vous donne ma partie de code qui me permet de compter ... :
        Dim b As Integer
        Dim c As Stream
        Dim d As StreamReader
        c = File.OpenRead(NameOfFichier)
        d = New StreamReader(c, Encoding.ASCII)
        d.BaseStream.Seek(0, SeekOrigin.Begin)
        While d.Peek > -1
            b = b + 1
            d.ReadLine()
        End While
        Return b

Voila merci d'avance pour votre aide :)

9 réponses

Utilisateur anonyme
1 févr. 2008 à 19:42
Salut,

Quand tu lit la ligne, regarde si le premier caractère (hormis les espaces ou les tabulation qui peuvent se trouver devant) est une apostrophe.

__________
  Kenji
0
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
1 févr. 2008 à 20:21
Oui mais comment faire ? Pouvez vous me le dire ? Merci de ton aide :)
0
Utilisateur anonyme
1 févr. 2008 à 21:28
Avec une expression régulière par exemple :
Dim Ligne As String = d.ReadLine()
If Not System.Text.RegularExpressions.Regex.IsMatch(Ligne, "^[ ]*'.*$") Then
  b = b + 1
End If, ----
(Coloration syntaxique automatique par Kenji)

__________
  Kenji
0
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
2 févr. 2008 à 09:37
Non cela ne fonctionne pas ...
0

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

Posez votre question
Utilisateur anonyme
2 févr. 2008 à 12:29
Donne plus de détails. Donne un exemple de ligne.
C'est toi qui a le problème, pas moi.

__________
  Kenji
0
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
2 févr. 2008 à 13:03
Pardon, en faite j'aimerais tester chaque ligne du fichier et regarder si il y a un "'" (apostrophe) ou s'il n y a aucun texte sur cette ligne. Afin que ma fonction comptage ne compte pas mes commentaires ou les sauts de lignes mais seulement les lignes de code...
0
Utilisateur anonyme
2 févr. 2008 à 20:39
Bah la fonction que je t'ai passe fait justement ca
Dim Ligne As String = d.ReadLine()
If Not System.Text.RegularExpressions.Regex.IsMatch(Ligne, "^[ ]*'.*$") Then
  '  Pas de commentaire dans la ligne
End If

Après si tu me dit pas pourquoi cette fonction ne te convient pas, moi je peux rien faire.

__________
  Kenji
0
ThoT49 Messages postés 153 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 24 avril 2011 2
2 févr. 2008 à 21:04
"^[ ]*'.*$" --> les commentaires en vb sont juste "'" et en faite sa teste si dans la ligne il y a ses caractères alors que moi j'aimerais juste que le premier caractere de la ligne soive un "'"

je ne sais pas si j'ai bien expliqué ?

merci de ton aide :)
0
Utilisateur anonyme
2 févr. 2008 à 21:38
Mon expression régulière vérifie si le premier caractère est une apostrophe. Mais attention, il peut y avoir un ou des espace devant.
^[ ]*'.*$
[ ]* représente les espace éventuels (et que des espaces)
' représente l'apostrophe (donc le premier caractère de la ligne (hormis les espaces))
.* les caractères qui suivent

__________
  Kenji
0
Rejoignez-nous