Comparer le contenu de deux répertoires

Signaler
Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
9 mars 2006
-
Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
9 mars 2006
-
Bonjour ou bonsoir,

je cherche à insérer dans un tableau le contenu de deux repertoires

les répertoires sont selectionnés avec un folderbrowser et je voudrais détailler le contenu de ces deux répertoires dans un datagridview

je ne sais pas du tout comment faire, je débute

merci d'avance pour votre aide!

elodie

6 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

le plus simple est de comparer en variable (tableau)

mais dans ce cas je ne vois pas le rapport avec un FolderBrowser. il ne te renverra qu'un dossier sélectionné.

tu veux comparer le contenu de ce dossier sélectionné avec un autre?

si oui, première sélection de ce dossier, tu incrémentes un tableau
contenant chaque fichier et/ou dossier de ce dossier sélectionné ; avec
DIR.

ensuite pareil dans un 2e tableau. il ne te reste plus qu'à comparer ligne par ligne de chaque tableau en boucle.
Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
9 mars 2006

en fait le folder browser c'est parce que je fais deux boutons un repertoire a et un autre repertoire b
et qd l'utilisateur clic dessus il ya un folder browser et alors le bouton inscrit le chemin du repertoire
et après je voudrais comparer ces deux repertoires, leur contenu, qd l'utilisateur appuie sur un troisième bouton
et je voudrais que l'affichage se fasse dans un tableau avec le contenu du répertoire 1 et en parallèle le contenu du repertoire 2

en tt cas merci bc pour ta réponse ... si tu peux là compléter ya pas de souci!!

elodie
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
arf, ok....


dans C:\, je créé un 2 dossiers (dossier1 et dossier2)











dossier1 contient :


1.txt

Copie (2) de 1.txt

Copie (3) de 1.txt

Copie (4) de 1.txt

Copie (5) de 1.txt

Copie (6) de 1.txt

Copie (7) de 1.txt

Copie (8) de 1.txt

Copie de 1.txt








dossier2 contient :


1.txt

2.txt

Copie (2) de 1.txt

Copie (2) de 2.txt

Copie (3) de 1.txt

Copie (3) de 2.txt

Copie (4) de 2.txt

Copie (5) de 2.txt

Copie (6) de 2.txt


Copie de 2.txt





un Form, 3 boutons par défaut, à cliquer dans l'ordre (1 2 3 pour l'exemple)









Option Explicit

'

Dim aTab1() As String

Dim aTab2() As String

Const sDOSS1 As String = "C:\dossier1"

Const sDOSS2 As String = "C:\dossier2"

'

'

Private Sub Form_Load()

Command1.Caption = "Liste dossier n°1"

Command1.Width = 1455



Command2.Caption = "Liste dossier n°2"

Command2.Width = 1455



Command3.Caption = "compare"

Command3.Width = 955



ReDim aTab1(0)

ReDim aTab2(0)

End Sub

'

'

Private Sub Command1_Click()

' on liste tous les fichiers et on redimentionne la tableau en conséquence

Dim sFile As String

sFile = Dir (sDOSS1 & "*.*")

While sFile <> vbNullString

ReDim Preserve aTab1(UBound(aTab1) + 1)

aTab1(UBound(aTab1)) = sFile

sFile = Dir

Wend

End Sub

'

'

Private Sub Command2_Click()

' pareil

Dim sFile As String

sFile = Dir (sDOSS2 & "*.*")

While sFile <> vbNullString

ReDim Preserve aTab2(UBound(aTab2) + 1)

aTab2(UBound(aTab2)) = sFile

sFile = Dir

Wend

End Sub

'

'

Private Sub Command3_Click()

Dim sMess As String, i As Integer



' liste compte affiche

sMess = "il y a " & UBound (aTab1) & " fichiers dans " & sDOSS1 & vbCrLf & vbCrLf

For i = 1 To UBound(aTab1)

sMess = sMess & aTab1(i) & vbCrLf

Next i

MsgBox sMess



' pareil

sMess = "il y a " & UBound (aTab2) & " fichiers dans " & sDOSS2 & vbCrLf & vbCrLf

For i = 1 To UBound(aTab2)

sMess = sMess & aTab2(i) & vbCrLf

Next i

MsgBox sMess



' bye

Unload Me

End Sub





<small> Coloration
syntaxique automatique [AFCK]</small>




++
Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
9 mars 2006

Merci beaucoup!!!!

mais ça ne marche tjs pas je comprens pas
le but du prog est d'afficher le tableau ou??
désolé je débute .. ça doit se voir!
je t'envoie mon code complet pour s'il te rest un peu de patience que tu me dises ce que t'en pense
je crois qu'il doit y avoir de grosses boulettes!!

merci beaucoup d'avance

elodie


le code:


Option Explicit On
Imports System.IO
Imports System.Collections.ObjectModel
Public Class Form1
Dim NomFichier
Dim rep As String
Dim aTab1() As String
Dim aTab2() As String
Const sDOSS1 As String = "C:\dossier1"
Const sDOSS2 As String = "C:\dossier2"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
FolderBrowserDialog1.ShowDialog()
Button1.Text = FolderBrowserDialog1.SelectedPath
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
FolderBrowserDialog2.ShowDialog()
Button2.Text = FolderBrowserDialog2.SelectedPath
End Sub
Private Sub Form_Load()
Button1.Text = "Liste dossier n°1"
Button1.Width = 1455

Button2.Text = "Liste dossier n°2"
Button2.Width = 1455

Button3.Text = "compare"
Button3.Width = 955

ReDim aTab1(0)
ReDim aTab2(0)
End Sub
'
'
Private Sub Command1_Click()
' on liste tous les fichiers et on redimentionne la tableau en conséquence
Dim sFile As String
sFile = Dir(sDOSS1 & "*.*")
While sFile <> vbNullString
ReDim Preserve aTab1(UBound(aTab1) + 1)
aTab1(UBound(aTab1)) = sFile
sFile = Dir()
End While
End Sub
'
'
Private Sub Command2_Click()
' pareil
Dim sFile As String
sFile = Dir(sDOSS2 & "*.*")
While sFile <> vbNullString
ReDim Preserve aTab2(UBound(aTab2) + 1)
aTab2(UBound(aTab2)) = sFile
sFile = Dir()
End While
End Sub
'
'
Private Sub Command3_Click()
Dim sMess As String, i As Integer

' liste compte affiche
sMess = "il y a " & UBound(aTab1) & " fichiers dans " & sDOSS1 & vbCrLf & vbCrLf
For i = 1 To UBound(aTab1)
sMess = sMess & aTab1(i) & vbCrLf
Next i
MsgBox(sMess)

' pareil
sMess = "il y a " & UBound(aTab2) & " fichiers dans " & sDOSS2 & vbCrLf & vbCrLf
For i = 1 To UBound(aTab2)
sMess = sMess & aTab2(i) & vbCrLf
Next i
MsgBox(sMess)
End Sub
End Class
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
mon code ne risque pas de fonctionner, c'est pour VB6 !!!





désolé, je n'y touche pas. attend de voir si d'autres passent par là,
ou reposte ton sujet dans 1 ou 2 jours surtout en précisant le langage
(DOTNET + version)
Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
9 mars 2006

ah bon ben merci beaucoup quand même
donc pour info ma demande d'aide est tjs valide sachant que je travaille avec vb 2005

:-)