2 textboxs : textbox1 et textbox2
un bouton : Button1
et ce code :
Imports System.IO
Public Class Form1
Dim anciens_fichiers As New List(Of String)
Dim nouveaux_fichiers As New List(Of String)
Dim differents As New List(Of String)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim finded As Boolean = False
anciens_directorys_enum(TextBox1.Text)
nouveaux_directorys_enum(TextBox2.Text)
For Each nouveau In nouveaux_fichiers
For Each ancien In anciens_fichiers
If nouveau = ancien Then
compare(nouveau, ancien)
finded = True
Exit For
End If
Next
If Not finded Then differents.Add(nouveau)
Next
For Each different In differents
Console.WriteLine(different)
Next
MsgBox("fini")
End Sub
Private Sub anciens_directorys_enum(ByVal _directory As String)
For Each file_ In Directory.EnumerateFiles(_directory)
anciens_fichiers.Add(file_.Replace(TextBox1.Text, ""))
Next
For Each directory_ In Directory.EnumerateDirectories(_directory)
anciens_directorys_enum(directory_)
Next
End Sub
Private Sub nouveaux_directorys_enum(ByVal _directory As String)
For Each file_ In Directory.EnumerateFiles(_directory)
nouveaux_fichiers.Add(file_.Replace(TextBox2.Text, ""))
Next
For Each directory_ In Directory.EnumerateDirectories(_directory)
nouveaux_directorys_enum(directory_)
Next
End Sub
Private Sub compare(ByVal nouveau As String, ByVal ancien As String)
Dim nouveau_text As String = lire_fichier(TextBox2.Text & "\" & nouveau)
Dim ancien_text As String = lire_fichier(TextBox1.Text & "\" & ancien)
If nouveau_text <> ancien_text Then
differents.Add(nouveau)
End If
Application.DoEvents()
End Sub
Private Function lire_fichier(ByVal file_ As String)
Dim texte As String = ""
'lecture du flux
Dim Monflux As Stream
Monflux = File.OpenRead(file_)
'lecture ligne à ligne
Dim Maligne As StreamReader = New StreamReader(Monflux, System.Text.Encoding.ASCII)
Maligne.BaseStream.Seek(0, SeekOrigin.Begin)
'.peek defini le caractere suivant, si =-1 c'est qu'il n'y a plus de caractere
'donc la fin du fichier est atteinte
While Maligne.Peek() > -1
Dim rep As String = Maligne.Peek
texte += Maligne.ReadLine()
End While
Return texte
End Function
End Class
tu entres le chemin de l'ancienne version decompilée dans textbox1 et de la nouvelle dans textbox2 et tu appuis sur le bouton , tu regardes dans la sortie quand tu as la msgbox qui dit que c'est fini
@ asdfghjkl tu as oublié un S a méchanceté et a gratuite , biensur le verbe venir s'accorde (moi j'ai le droit de faire des fautes je suis pas modo)
si elles seraient payantes y'a longtemps que je me serais pris une semaine mais je serais riche
d'un autre coté je suis d'accord , c'est la premiere fois (regarde ta date d'inscription et la mienne ... moins de 28 heures de decalage c'est ca ?) , d'ailleur parlons un peu de ma couleur , je crois que je merite au moins autant que certains d'etre en vert (je provoque personne si tu penses a quelqu'un qui est en vert qui commence par alex et fini par 1004 , je constate juste que c'est en fesant n'importe quoi qu'on devient n'importe qui) il y'a un tuto a moi (non non c'est pas un leech overedge) dans la partie tuto alors que je peu meme poster de tuto , voir meme en bleu :mrgreen:
edit 2 : pense a mettre le lien de ta signature a jour (la ca va je suis pas HS hein !!) , j'ai voulu aller relire le reglement (j'avais un doute sur un point) mais ta signature renvois sur un super tuto)
le HS est clos