My.Computer.FileSystem.FindInFiles

Résolu
cs_ledebutant07 Messages postés 15 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 22 février 2007 - 4 nov. 2006 à 17:56
khdaimi_issam_eddine Messages postés 6 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 4 juin 2008 - 6 nov. 2006 à 22:18
Bonjour,

Je suis sous VB2005 Express Edition

Je cherche à l'aide de if ...then...else
-Soit afficher la collection de fichiers contenant le texte recherché dans une checkbox  
-Soit afficher une messagebox de non exitance
 
J'arrive à affiché la liste si le texte existe mais je n'arrive pas à affiché la message box correspondante si le texte n'existe pas.
 
je ne sais pas comment définir si le resultat de ma collection est vide.
 j'utise le My.Computer.FileSytem.FindInFiles

Ci dessous une partie de mon code si une âme charitable veut bien se penché sur mon cas je la remercie d'avance.....

ledebutant07
=====================================

Public
Function FindInFiles(
ByVal directory
As
String,
ByVal containsText
As
String,
ByVal ignoreCase
As
Boolean,
ByVal searchType
As SearchOption)
As System.Collections.ObjectModel.ReadOnlyCollection(
Of
String)

End
Function
Private

Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click, Button1.ClickCheckedListBox1.Items.Clear()

Dim ListeArchives AsString
ListeArchives = ("C:\Archives"
)

Dim

TEXT AsString = Text1.Text
If

TEXT = "000000"Then

Dim value As System.Collections.ObjectModel.ReadOnlyCollection(OfString _
) =
My.Computer.FileSystem.FindInFiles(ListeArchives, TEXT,
False, FileIO.SearchOption.SearchTopLevelOnly)

If value
Is
Nothing
Then
GoTo Noexist
Else

CheckedListBox1.Items.Clear()

For
Each name
As
String
In valueCheckedListBox1.Items.Add(name)

Next
Noexist:

MsgBox(

"Le Dossier n'existe pas dans la Base de Données", MsgBoxStyle.Information)

End
If
end sub
========================================

6 réponses

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
5 nov. 2006 à 01:19
salut
peut etre que ca peut marcher

If value.Count = 0
Then

' ta boucle

ElseMessageBox.Show(

"Aucune valeur")

End
If
3
khdaimi_issam_eddine Messages postés 6 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 4 juin 2008
5 nov. 2006 à 23:10
salut
   j'ai une petite proposition si tu veux bien essaie la tu as ecris l'ettiquette dans la else de of alors si la conditions est vrai il ne va pas execuete la 2eme conditons alors il ne trouve pas la Noexist:

PublicFunction FindInFiles(ByVal directory AsString, ByVal containsText AsString, ByVal ignoreCase AsBoolean, ByVal searchType As SearchOption) As System.Collections.ObjectModel.ReadOnlyCollection(OfString)

EndFunction
Private

Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click, Button1.Click
CheckedListBox1.Items.Clear()

Dim
ListeArchives As
String
ListeArchives = ("C:\Archives")
Dim

TEXT AsString = Text1.Text
If

TEXT = "000000"
Then

Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of
String _
) = My.Computer.FileSystem.FindInFiles(ListeArchives, TEXT, False, FileIO.SearchOption.SearchTopLevelOnly)

If value
Is
Nothing
Then
GoTo Noexist
Else

CheckedListBox1.Items.Clear()

For
Each name
As
String
In value
CheckedListBox1.Items.Add(name)

Next
End
If /*essaie de faire le end if ici tu repond moi si sa marche */
Noexist:

MsgBox(

"Le Dossier n'existe pas dans la Base de Données", MsgBoxStyle.Information)

end sub
3
khdaimi_issam_eddine Messages postés 6 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 4 juin 2008
6 nov. 2006 à 22:18
salut

ne m'excuse pas j'ai juste entreint de cherche lorsque j'ai trouve sa alors je te souhaite bon chance dans votre travaille

bye  et aplus
3
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
5 nov. 2006 à 01:21
oOPps
non
If value.Count > 0 Then

' ta boucle

Else
MessageBox.Show(

"Aucune valeur")

EndIf
0

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

Posez votre question
cs_ledebutant07 Messages postés 15 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 22 février 2007
5 nov. 2006 à 22:17
ça ne marche pas mais je continue a chercher......

merci

ledebutant07
0
cs_ledebutant07 Messages postés 15 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 22 février 2007
6 nov. 2006 à 07:56
Bonjour,

Ce lundi commence bien......... ça marche

J'ai utilisé les 2 réponses  

1ere modif
"If  value  Is Nothing Then GoTo Noexist Else" ---devient >>>>>>" if value.count = 0 then goto Noexist then"

2eme modif



le "Endif" est placé juste après le "next" de la boucle.



Merci à tous les 2 pour cette promptitude et votre aide précieuse




ci dessous le code modifié

Cordialement

ledebutant07
================================================




Public Function FindInFiles(ByVal directory AsString, ByVal containsText AsString, ByVal ignoreCase AsBoolean, ByVal searchType As SearchOption) As System.Collections.ObjectModel.ReadOnlyCollection(OfString)








End

Function









Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click, Button1.Click



CheckedListBox1.Items.Clear()












Dim


ListeArchives
As




String





ListeArchives = ("C:\Archives")
Dim




TEXT
As


String
= Text1.Text










If


TEXT =
"000000"





Then









Dim
value
As
System.Collections.ObjectModel.ReadOnlyCollection(
Of





String _

) = My.Computer.FileSystem.FindInFiles(ListeArchives, TEXT, False, FileIO.SearchOption.SearchTopLevelOnly)


















If value.count = 0 Then GoTo Noexist Else












CheckedListBox1.Items.Clear()








For
Each name AsStringIn value




CheckedListBox1.Items.Add(name)











Next
EndIf 






Noexist:




MsgBox(


"Le Dossier n'existe pas dans la Base de Données", MsgBoxStyle.Information)










end sub
0
Rejoignez-nous