Lecture d'un format d'image dans un controle

cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010 - 2 juil. 2004 à 18:39
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 3 juil. 2004 à 03:28
Grace à la fonction
fichier$ = Dir$(chemin$ + "*.bmp", vbNormal)
je peux afficher dans un controle tous les fichiers au format *.bmp

Mais si je veux afficher 2 formats : *.bmp et *.jpg comment dois-je procéder ?

J'ai essayé fichier$ = Dir$(chemin$ + "*.bmp;*.jpg", vbNormal) mais cela ne fonctionne pas.

Pouvez vous m'aider ?
Merci par avance

2 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
2 juil. 2004 à 18:45
Il faut que tu fasses deux boucles l'une après l'autre : Une pour les BMP et une pour les JPG. Ou mieux : Tu crées une fonction qui te retourne les fichiers contenu dans un répertoire selon une extension donnée et tu l'appelles deux fois. Une fois en lui envoyant "BMP" et une seconde fois en lui envoyant "JPG".

Christophe R.
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
3 juil. 2004 à 03:28
Voici une fonction faite a la va vite !!

Function ListeImage(Path As String, Ext As String)
Dim Fic As String
Dim StrResult As String
Fic = Dir(Path & "/*." & Ext, vbNormal)
Do While Fic <> ""
DoEvents
StrResult = StrResult & Fic & vbCrLf
Fic = Dir()
Loop
ListeImage = StrResult
End Function


'La fonction revoie une chaine avec les noms de fichier
'Avec Vbcrlf comme séparateur

'Pour l'utiliser avec un texbox
Text1 = ListeImage("c:\windows", "bmp")

'Pour l'utiliser dans un listbox
Dim Temp() As String
Temp = Split(ListeImage("c:\windows", "bmp"), vbCrLf)
For i = 0 To UBound(Temp)
List1.AddItem Temp(i)
Next i

Ps : si c'est dans un listbox tu peu directement utiliser une procedure plutot qu'une fonction :

Sub ListeImage(Path As String, Ext As String, Lst As ListBox)
Dim Fic As String
Fic = Dir(Path & "/*." & Ext, vbNormal)
Do While Fic <> ""
    DoEvents
    Lst.AddItem Fic
    Fic = Dir()
Loop
End Sub


Pour remplir le listbox :
Call ListeImage("C:\windows", "bmp", List1)
Call ListeImage("C:\windows", "jpg", List1)

Enfin voila qq solutions parmis tant d'autres lol

++
0
Rejoignez-nous