OVH Cloud OVH Cloud

texte animé

6 réponses
Avatar
JCM
Boujour

je voudrais faire d=E9fil=E9 un texte dans un label, voici mon=20
code et cela ne marche pas, pouvez vous me dire ou est=20
l'erreur :

Private Sub Form_Load()
LblMessage.Caption =3D "Les controles sont anim=E9s"
Timer1.Enabled =3D True
End Sub

Private Sub Timer1_Timer()
If LblMessage.left < PicMessage.Width Then
LblMessage.left =3D 5
Else
LblMessage.left =3D -LblMessage.Width
End If
End Sub

Merci de vos r=E9ponses
Cordialement

JCM

6 réponses

Avatar
Ledev
"JCM" a écrit dans le message de
news:09df01c34c60$8d40c730$
Boujour

je voudrais faire défilé un texte dans un label, voici mon
code et cela ne marche pas, pouvez vous me dire ou est
l'erreur :

Private Sub Form_Load()
LblMessage.Caption = "Les controles sont animés"
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If LblMessage.left < PicMessage.Width Then
LblMessage.left = 5



ERREUR: remplacer cette ligne par
lblMessage.left=lblMessage.left+5

Else
LblMessage.left = -LblMessage.Width
End If
End Sub



Aprés cela, sa devrai marcher(je pense, enfin j'ai pas trouvée d'autre
erreur en tous cas :-D)

a+
Avatar
Bluesy
Salut.

Je me permets d'intervenir...

- Le "&" est mieux que le "+" pour concaténer
- Les fonction Left et Right (entre autres) retournent des variant. Les
mêmes fonction suivies d'un "$" retournent une chaine de caractères. VB n'a
plus à convertir de Variant à String, d'un un gain de rapidité.
- C'est quoi Texte ?

Bonne prog :=)

Bluesy

Private Sub Timer1_Timer()
Dim Chaine1 As String
Dim Chaine2 As String
With LblMessage
Chaine2 = Left$(.Caption, Len(Texte) - Len(.Caption) & 1)
Chaine1 = Right$(.Caption, Len(.Caption) - 1) & Chaine2
.Caption = Chaine1
Les
End With
End Sub


Un certain JCM écrivait ici même ce qui suit:

Private Sub Timer1_Timer()
Dim Chaine1 As String
Dim Chaine2 As String
With LblMessage
Chaine2 = Left(.Caption, Len(Texte) - Len(.Caption) +


1)
Chaine1 = Right(.Caption, Len(.Caption) - 1) & Chaine2
.Caption = Chaine1
End With
End Sub




Avatar
Hervé
Salut Bluesy,
Tu est sur que pour additionner le "&" est mieux que + ?
Hervé.

"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message news:

Salut.

Je me permets d'intervenir...

- Le "&" est mieux que le "+" pour concaténer
- Les fonction Left et Right (entre autres) retournent des variant. Les
mêmes fonction suivies d'un "$" retournent une chaine de caractères. VB


n'a
plus à convertir de Variant à String, d'un un gain de rapidité.
- C'est quoi Texte ?

Bonne prog :=)

Bluesy

Private Sub Timer1_Timer()
Dim Chaine1 As String
Dim Chaine2 As String
With LblMessage
Chaine2 = Left$(.Caption, Len(Texte) - Len(.Caption) & 1)
Chaine1 = Right$(.Caption, Len(.Caption) - 1) & Chaine2
.Caption = Chaine1
Les
End With
End Sub


Un certain JCM écrivait ici même ce qui suit:

>>Private Sub Timer1_Timer()
>>Dim Chaine1 As String
>>Dim Chaine2 As String
>>With LblMessage
>> Chaine2 = Left(.Caption, Len(Texte) - Len(.Caption) +
> 1)
>> Chaine1 = Right(.Caption, Len(.Caption) - 1) & Chaine2
>> .Caption = Chaine1
>>End With
>>End Sub



Avatar
Ledev
Hervé wrote:
Salut Bluesy,
Tu est sur que pour additionner le "&" est mieux que + ?



Disons qu'il permet de ne pas avoir a tenir compte des type de données:

debug.print "Coucou " & 25
debug.print "Coucou " + 25

La 1er marche, pas la seconde.

Si c'est juste pour du texte, je ne sais pas si elle est plus rapide(et je
ne voie pas pourquoi), mais pour plusierus type de données(comme dans
l'exemple), peut être que:
debug.print "Coucou " & 25
Est plus rapide que
debug.print "Coucou "+str$(25)

Car il n'a pas de conversion a faire.

a+

Hervé.

"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message
news:
> Salut.
>
> Je me permets d'intervenir...
>
> - Le "&" est mieux que le "+" pour concaténer
> - Les fonction Left et Right (entre autres) retournent des
> variant. Les mêmes fonction suivies d'un "$" retournent une chaine
> de caractères. VB n'a plus à convertir de Variant à String, d'un un
> gain de rapidité. - C'est quoi Texte ?
>
> Bonne prog :=)
>
> Bluesy
>
> Private Sub Timer1_Timer()
> Dim Chaine1 As String
> Dim Chaine2 As String
> With LblMessage
> Chaine2 = Left$(.Caption, Len(Texte) - Len(.Caption) & 1)
> Chaine1 = Right$(.Caption, Len(.Caption) - 1) & Chaine2
> .Caption = Chaine1
> Les
> End With
> End Sub
>
>
> Un certain JCM écrivait ici même ce qui suit:
>
> > > Private Sub Timer1_Timer()
> > > Dim Chaine1 As String
> > > Dim Chaine2 As String
> > > With LblMessage
> > > Chaine2 = Left(.Caption, Len(Texte) - Len(.Caption) +
> > 1)
> > > Chaine1 = Right(.Caption, Len(.Caption) - 1) & Chaine2
> > > .Caption = Chaine1
> > > End With
> > > End Sub


Avatar
ng
Salut,
Bien entendu, le & est LE caractère de concaténation de chaine en VB... Le +
fonctionne aussi mais seulement pour garder une certaine compatibilité avec
le vieux basic...


Nicolas.

"Hervé" a écrit dans le message de news:

Salut Bluesy,
Tu est sur que pour additionner le "&" est mieux que + ?
Hervé.

"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message news:

> Salut.
>
> Je me permets d'intervenir...
>
> - Le "&" est mieux que le "+" pour concaténer
> - Les fonction Left et Right (entre autres) retournent des variant. Les
> mêmes fonction suivies d'un "$" retournent une chaine de caractères. VB
n'a
> plus à convertir de Variant à String, d'un un gain de rapidité.
> - C'est quoi Texte ?
>
> Bonne prog :=)
>
> Bluesy
>
> Private Sub Timer1_Timer()
> Dim Chaine1 As String
> Dim Chaine2 As String
> With LblMessage
> Chaine2 = Left$(.Caption, Len(Texte) - Len(.Caption) & 1)
> Chaine1 = Right$(.Caption, Len(.Caption) - 1) & Chaine2
> .Caption = Chaine1
> Les
> End With
> End Sub
>
>
> Un certain JCM écrivait ici même ce qui suit:
>
> >>Private Sub Timer1_Timer()
> >>Dim Chaine1 As String
> >>Dim Chaine2 As String
> >>With LblMessage
> >> Chaine2 = Left(.Caption, Len(Texte) - Len(.Caption) +
> > 1)
> >> Chaine1 = Right(.Caption, Len(.Caption) - 1) & Chaine2
> >> .Caption = Chaine1
> >>End With
> >>End Sub
>




Avatar
Gigfy
Salut.

Merci les gars d'avoir répondu à ma place... J'ai eu l'ordi en vrac ces
derniers temps...

Pour la réponse, pas grand chose à rajouter.... le + est un opérateur
numérique qui sert à additionner deux valeurs. Le & est un opérateur de
chaine qui sert à concaténer deux chaînes.
Même si le + concatène 2 chaines, d'abord, ça peut créer des erreurs, puis
en plus, c'est pas joli. C'est pas parceque VB le permet que c'est une
bonne chose de l'utiliser. Dans la même idée, VB permet aussi de ne pas
déclarer les variables utilisées.... On peut être un minimum rigoureux,
même si on utilise le permissif VB :=)

Bonne soirée


--
========== Gigfy

Le Bluesy masqué..... :=)



Un certain ng écrivait ici même ce qui suit:

Salut,
Bien entendu, le & est LE caractère de concaténation de chaine en
VB... Le + fonctionne aussi mais seulement pour garder une certaine
compatibilité avec le vieux basic...


Nicolas.

"Hervé" a écrit dans le message de news:

Salut Bluesy,
Tu est sur que pour additionner le "&" est mieux que + ?
Hervé.

"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message
news:
> Salut.
>
> Je me permets d'intervenir...
>
> - Le "&" est mieux que le "+" pour concaténer
> - Les fonction Left et Right (entre autres) retournent des
> variant. Les
> mêmes fonction suivies d'un "$" retournent une chaine de
> caractères. VB
n'a
> plus à convertir de Variant à String, d'un un gain de rapidité.
> - C'est quoi Texte ?
>
> Bonne prog :=)
>
> Bluesy
>