Récupérer du texte dans une TextBox pour l'afficher dans un contrôle Label (VB6)

Résolu
klaus83 - 15 avril 2013 à 02:11
 klaus83 - 15 avril 2013 à 17:55
Bonjour,
La visionneuse de Win 7 ne lisant plus les gifs animés, j'ai créé une petite application à l'aide du contrôle activeX AniGif.ocx, qui me permet de visionner ces fichiers au Fur et à mesure de leur sélection dans une FileList. j'ai voulu afficher les dimensions de l'image dans un contrôle Label avec un code (VB6) du genre :
Label.Caption = "Largeur Image x Hauteur Image".
Malheureusement le Label affiche toujours la taille de l'image précédente quelque soit l'évènement dans lequel je place ce code.
C'est peut-être dû aux caractéristiques du contrôle AniGif.ocx.
J'ai donc trouvé un extrait de code qui permet d'afficher, dans une TextBox, les propriétés du fichier affiché, contenant entr'autre les dimensions de l'image. (voir copie ci-dessous :



J'aimerai donc pouvoir extraire de la TextBox les dimensions de l'image (Ici 199x121) pour les afficher dans un contrôle Label, si c'est possible. Merci par avance de votre aide
klaus83

5 réponses

Bonjour,
Je viens de me souvenir qu'on pouvait faire un recherche avec une boucle For...Next et la fonction Mid. Voici donc ce que j'ai écrit et qui fonctionne très bien :

[i]Dim RetVal As String, I As Integer, X As Integer, Long As Integer

'La chaine recherchée est "199 x 121"
For I = 500 To Len(Text1.Text) 'Je raccourci la recherche de "?"
RetVal = Mid(Text1.Text, I, 1) 'Recherche caractère par caractère
If RetVal = "?" Then
X = I + 1 'Départ de la recherche de "199 x 121"
Exit For
End If
Next
Long = Len(Text1.Text) - (X + 2) 'Longueur de la chaine "199 x 121"
Lbl.Caption = Mid(Text1.Text, X, Long) 'Ecriture de la chaine dans le Label /i

Donc ma question n'a plus lieu d'être car le problème est résolu.
Merci tout de même à ceux qui ont pu s'y intéresser.

klaus83
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
15 avril 2013 à 13:17
Bonjour,

Au lieu de récupérer la position de "?" à l'aide d'une boucle, utilises plutôt l'instruction Instr.

Cheyenne
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
15 avril 2013 à 13:29
Re,

Encore mieux, faire un Split du texte :
Dim t() As String
Lbl.Caption = Split(Text1.Text, "?")(1)

Cheyenne
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
15 avril 2013 à 16:15
Re,

Oups ! Dans le code précédent le tableau t() est inutile.
Par contre il est utile dans le code suivant :
Dim t() As String
t = Split(Text1.Text, "?")
Lbl.Caption = t(1)

Cheyenne
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
Je ne connaissais pas les fonctions InStr et Split, elles sont très pratiques et efficaces. J'ai utilisé Split qui donne un code très compact.
Merci de ton aide Cheyenne, mon problème est résolu.

klaus83
0
Rejoignez-nous