cs_glad
Messages postés97Date d'inscriptionlundi 26 novembre 2001StatutMembreDernière intervention24 février 2012 27 févr. 2009 à 08:54
Bon, je continue le développement de ce programme ici...
J'y ai intégré quelques petites choses sympas :
- gestion du rtf
- fichiers ini
- choix du format de sortie (rtf, html, texte)
- impression
- copier
cs_glad
Messages postés97Date d'inscriptionlundi 26 novembre 2001StatutMembreDernière intervention24 février 2012 22 févr. 2009 à 17:09
Merci :-) !
J'avais pas vu que la demande était d'il y a 5 ans !
Je me suis fait avoir par le fait que c'était la 1ère de la liste :-)
Bon, si j'ai bien compris, ce code passerait mieux en codyx...
Je le mettrais dc qd j'aurais fini de le compléter.
à+
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 févr. 2009 à 16:46
je ne sors pas de gourdin, désolé si j'ai donné l'impression de t'attaquer, ce n'était pas du tout le but!
"petit code" => codyx.org
donc par nature déjà, ton code ne restera pas
mis à part, par besoin non plus de regex juste pour repérer des "$" (même pour une question posée il y a 5 ans)
Resultat.Text &= ..., (même en VB6 d'ailleurs) on évite d'ajouter dans un "controle" en continue, çà fait perdre beaucoup de temps
on préfèrera concaténer dans une chaîne puis afficher le tout à la fin
et en VB.NET çà ne sera pas une STRING mais un System.Text.StringBuilder ; bien plus adapté
vbcrlf, à remplacer par Environment.NewLine
X = "------------->" & NomFichier & "<---------------" & vbcrlf
on évite de concaténer de cette manière, format est là pour çà
x = string.format("-------------> {0} <---------------{1}", NomFichier, Environment.NewLine)
Debug.Print à remplacer par system.console.writeline
UBound(Lignes) à remplacer par Lignes.GetUpperBound
CStr(i + 1) est correct, on utilisera néanmoins plus couramment (i + 1).ToString
et plus globalement on ne fera pas de trim sur le tableau, puisqu'ici tu ne récupères pas la valeur "trimée"
çà donnerait donc :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Buffer As System.Text.StringBuilder = New System.Text.StringBuilder()
Dim myMatches As MatchCollection
Dim Variables As New Regex("(\$(\w+)((\[((""|')+\w*(""|')+)+\])|(->\w*))?)")
Dim i As Int32 = 0
Dim Files() As String = System.IO.Directory.GetFiles("C:\Program Files\wamp\www", "*.php", IO.SearchOption.AllDirectories)
For Each file In Files
Dim Lines() As String = System.IO.File.ReadAllLines(file)
Buffer.AppendLine(String.Format("-----> {0} <-----", file))
i = 0
For Each line As String In Lines
myMatches = Variables.Matches(line.Trim)
For Each results As Match In myMatches
i += 1
Buffer.AppendLine(String.Format("{0}) {1}", i, results.Value))
Next results
Next line
Next file
Resultat.Text = Buffer.ToString
End Sub
bonne continuation
cs_glad
Messages postés97Date d'inscriptionlundi 26 novembre 2001StatutMembreDernière intervention24 février 2012 22 févr. 2009 à 14:58
:-)
Si je mets un code ici, c'est pour qu'il soit didactique, critiqué et amélioré...
Je ne vois pas pourquoi tu veux le supprimer.
Tu dis mi vb6 mi vb.net, c'est vrai que je dois avoir de sales habitudes vb6 (je me suis mis au vb2008 que depuis peu), dis moi ce qui ne va pas, plutôt que de sortir un gourdin :-)
à+
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 févr. 2009 à 13:41
salut,
quel est le but de ce partage? un petit script à usage unique pour tes besoins, un simple parsing de texte mi vb6 mi vb.net...
27 févr. 2009 à 08:54
J'y ai intégré quelques petites choses sympas :
- gestion du rtf
- fichiers ini
- choix du format de sortie (rtf, html, texte)
- impression
- copier
22 févr. 2009 à 17:09
J'avais pas vu que la demande était d'il y a 5 ans !
Je me suis fait avoir par le fait que c'était la 1ère de la liste :-)
Bon, si j'ai bien compris, ce code passerait mieux en codyx...
Je le mettrais dc qd j'aurais fini de le compléter.
à+
22 févr. 2009 à 16:46
"petit code" => codyx.org
donc par nature déjà, ton code ne restera pas
mis à part, par besoin non plus de regex juste pour repérer des "$" (même pour une question posée il y a 5 ans)
pour ce qui est de la syntaxe "trop vb6" :
CHR(NUM) à remplacer par Convert.ToChar(NUM)
DIR => à remplacer par System.IO.Directory.GetFiles
un exemple adapté (avec récursivité) ici :
http://www.codyx.org/snippet_lister-tous-fichiers-repertoire_198.aspx#2307
X LCASE(...)> à remplacer par X = Tachaine.ToLower
reste à voir l'utilité de mettre tous ces fichiers en minuscule...
Resultat.Text &= ..., (même en VB6 d'ailleurs) on évite d'ajouter dans un "controle" en continue, çà fait perdre beaucoup de temps
on préfèrera concaténer dans une chaîne puis afficher le tout à la fin
et en VB.NET çà ne sera pas une STRING mais un System.Text.StringBuilder ; bien plus adapté
vbcrlf, à remplacer par Environment.NewLine
X = "------------->" & NomFichier & "<---------------" & vbcrlf
on évite de concaténer de cette manière, format est là pour çà
x = string.format("-------------> {0} <---------------{1}", NomFichier, Environment.NewLine)
Debug.Print à remplacer par system.console.writeline
UBound(Lignes) à remplacer par Lignes.GetUpperBound
CStr(i + 1) est correct, on utilisera néanmoins plus couramment (i + 1).ToString
et plus globalement on ne fera pas de trim sur le tableau, puisqu'ici tu ne récupères pas la valeur "trimée"
çà donnerait donc :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Buffer As System.Text.StringBuilder = New System.Text.StringBuilder()
Dim myMatches As MatchCollection
Dim Variables As New Regex("(\$(\w+)((\[((""|')+\w*(""|')+)+\])|(->\w*))?)")
Dim i As Int32 = 0
Dim Files() As String = System.IO.Directory.GetFiles("C:\Program Files\wamp\www", "*.php", IO.SearchOption.AllDirectories)
For Each file In Files
Dim Lines() As String = System.IO.File.ReadAllLines(file)
Buffer.AppendLine(String.Format("-----> {0} <-----", file))
i = 0
For Each line As String In Lines
myMatches = Variables.Matches(line.Trim)
For Each results As Match In myMatches
i += 1
Buffer.AppendLine(String.Format("{0}) {1}", i, results.Value))
Next results
Next line
Next file
Resultat.Text = Buffer.ToString
End Sub
bonne continuation
22 févr. 2009 à 14:58
Peut être à aider ce genre de demande ?
http://www.vbfrance.com/forum/sujet-REGEX-TROUVER-VARIABLES_282827.aspx
:-)
Si je mets un code ici, c'est pour qu'il soit didactique, critiqué et amélioré...
Je ne vois pas pourquoi tu veux le supprimer.
Tu dis mi vb6 mi vb.net, c'est vrai que je dois avoir de sales habitudes vb6 (je me suis mis au vb2008 que depuis peu), dis moi ce qui ne va pas, plutôt que de sortir un gourdin :-)
à+
22 févr. 2009 à 13:41
quel est le but de ce partage? un petit script à usage unique pour tes besoins, un simple parsing de texte mi vb6 mi vb.net...
ce code ne sera pas conservé