VB6 - File1.FileName = "*.bmp"

Résolu
Fenril'Skanenruf -  
 Fenril'Skanenruf -
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. 91dj85 Messages postés 38 Statut Membre 1
     
    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
    1. Fenril'Skanenruf
       
      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
      1. 91dj85 Messages postés 38 Statut Membre 1 > Fenril'Skanenruf
         
        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
      2. Fenril'Skanenruf > 91dj85 Messages postés 38 Statut Membre
         
        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
  2. 91dj85 Messages postés 38 Statut Membre 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
    0
    1. Fenril'Skanenruf
       
      Ca marche inpeccablement, merci beaucoup 91dj85, sujet résolu.
      0