VB6 - File1.FileName = "*.bmp"

Résolu
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.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. 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
    1. Ca marche inpeccablement, merci beaucoup 91dj85, sujet résolu.
  2. 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
    1. 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.
    2. @Fenril'Skanenrufpour 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
    3. @91dj85Bonjour,

      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.