ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 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
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)
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 20112 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...
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.
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 20112 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 "'"
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