VB6 - File1.FileName = "*.bmp"

Résolu/Fermé
Fenril'Skanenruf - 30 juin 2008 à 12:45
 Fenril'Skanenruf - 30 juin 2008 à 18:23
Bonjour à toutes et à tous,

J'ai un petit problème, je voudrais faire une explorateur de fichier, superposés, il y a un textbox et un picturebox. Ils sont tous les deux visible=false. Et après selon le fichier sélectionné par l'utilisateur dans un file1 cela met Picture1.visible=true si c'est une image ou text1.visible=true si c'est un texte (non RTF).

Je n'arrive pas à récupérer dans une condition l'extension du fichier sélectionné, voici le code (juste pour la picture), pouvez-vous me le débogger ?
Private Sub File1_Click()

If File1.FileName = "*.png" Then MsgBox "Désolé nous ne gérons pas les PNG"
If File1.FileName = "*.png" Then Exit Sub
If File1.FileName = "*.bmp" Then Picture1.Visible = True
If File1.FileName = "*.bmp" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
If File1.FileName = "*.jpg" Then Picture1.Visible = True
If File1.FileName = "*.jpg" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
If File1.FileName = "*.gif" Then Picture1.Visible = True
If File1.FileName = "*.gif" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
End Sub


Apparement, les conditions avec la syntaxe : *.ext ne marchent pas, pouvez-vous s'il vous plaît me débogger cette partie de code ?

Merci beaucoup d'avance,
Fenril'Skanenruf.
A voir également:

2 réponses

91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1
30 juin 2008 à 12:54
filename est une chaine de caractères.
du peut découper la chaine et ainsi récupérer l'extension.
après tu pourras faire les tests


------------------------------------------------------------------------------------------­­----------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
0
Fenril'Skanenruf
30 juin 2008 à 13:54
Merci pour to naide mais je suis encore néophyte, alors s'il te plaît, peux-tu me donner la syntaxe pour faire cela ?
Me traduire le code que j'ai donné pour qu'il fonctionne serait le mieux parce que là, je n'y arrive vraiment plus.

Cette ligne : Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName) prouve bien que le FileName (d'ailleur comme son nom l'indique) donne le nom du fichier sélectionné (Nom.extension).
Par conséquent je n'arrive pas à comprendre pourquoi cela ne marche pas.

S'il vous plaît aidez-moi.
0
91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1 > Fenril'Skanenruf
30 juin 2008 à 14:14
pour récupérer l'extension :

Dim tableau() As String
tableau = Split(Filename1, ".")
Dim extension as String
extension = tableau (UBound(tableau))

tu peux maintenant vérifier a l'aide de la variable extension.
je pense que ça devrait marcher !


------------------------------------------------------------------------------------------­­­----------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
0
Fenril'Skanenruf > 91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008
30 juin 2008 à 16:24
Bonjour,

Merci pour ton aide, mais il y a un petit problème. Voici le sub actuel :
Private Sub File1_Click()

Dim tableau() As String
tableau = Split(Filename1, ".")
Dim extension As String
extension = tableau(UBound(tableau))

If extension = "png" Then MsgBox "Désolé nous ne gérons pas les PNG"
If extension = "png" Then Exit Sub
If extension = "bmp" Then Picture1.Visible = True
If extension = "bmp" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
If extension = "jpg" Then Picture1.Visible = True
If extension = "jpg" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
If extension = "gif" Then Picture1.Visible = True
If extension = "gif" Then Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
End Sub


L'ordinateur plante sur cette ligne : "extension = tableau(UBound(tableau))" en marquant "Indice en dehors de la plage" lorsque je clic sur une image dans le File1.

Que faire ?
Merci pour ton aide.
0
91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1
30 juin 2008 à 16:31
tableau = Split(Filename1, ".")

c'est pas Filename1 mais File1.FileName dans ton cas il me semble


------------------------------------------------------------------------------------------­­­­----------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
0
Fenril'Skanenruf
30 juin 2008 à 18:23
Ca marche inpeccablement, merci beaucoup 91dj85, sujet résolu.
0