My.Computer.FileSystem.FindInFiles [Résolu]

cs_ledebutant07 15 Messages postés jeudi 5 octobre 2006Date d'inscription 22 février 2007 Dernière intervention - 4 nov. 2006 à 17:56 - Dernière réponse : khdaimi_issam_eddine 6 Messages postés mardi 21 mars 2006Date d'inscription 4 juin 2008 Dernière intervention
- 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
========================================
Afficher la suite 

Votre réponse

6 réponses

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

If value.Count = 0
Then

' ta boucle

ElseMessageBox.Show(

"Aucune valeur")

End
If

Merci romagny13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de romagny13
Meilleure réponse
khdaimi_issam_eddine 6 Messages postés mardi 21 mars 2006Date d'inscription 4 juin 2008 Dernière intervention - 5 nov. 2006 à 23:10
3
Merci
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

Merci khdaimi_issam_eddine 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de khdaimi_issam_eddine
Meilleure réponse
khdaimi_issam_eddine 6 Messages postés mardi 21 mars 2006Date d'inscription 4 juin 2008 Dernière intervention - 6 nov. 2006 à 22:18
3
Merci
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

Merci khdaimi_issam_eddine 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de khdaimi_issam_eddine
romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 5 nov. 2006 à 01:21
0
Merci
oOPps
non
If value.Count > 0 Then

' ta boucle

Else
MessageBox.Show(

"Aucune valeur")

EndIf
Commenter la réponse de romagny13
cs_ledebutant07 15 Messages postés jeudi 5 octobre 2006Date d'inscription 22 février 2007 Dernière intervention - 5 nov. 2006 à 22:17
0
Merci
ça ne marche pas mais je continue a chercher......

merci

ledebutant07
Commenter la réponse de cs_ledebutant07
cs_ledebutant07 15 Messages postés jeudi 5 octobre 2006Date d'inscription 22 février 2007 Dernière intervention - 6 nov. 2006 à 07:56
0
Merci
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
Commenter la réponse de cs_ledebutant07

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.