Animation dans un textbox

Résolu
danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005 - 17 nov. 2004 à 23:25
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 18 nov. 2004 à 02:55
Bonjour,

Ce que je n'arrive pas à faire c'est un animation dans un textbox...

Le voilà ( le texte du textbox est entre parenthèses. Les parenthèses représentent le textbox. Donc, ne pas tenir compte des parenthèses...)

Puisque le forum supprime les espaces superflus, je ne peux que vous montrer mon problème que sur ce fichier texte.... Dsl...

http://vbfrance-animtextbox.enacre.net/danielgrd/AnimationTextBox-VBFRANCE.txt

Merci BEACOUP d'avance...!

10 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 nov. 2004 à 00:05
'----- niveau général -----
Dim x As Integer
Dim i As Integer
Dim s As String

' ----- niveau initialisation -----
Private Sub Form_Load()
s = " " x 1: i 1
End Sub

'----- niveau Timer -----
Private Sub Timer1_Timer()
Text1 = s If i 1 Then Mid$(s, x) "." If i 2 Then Mid$(s, x) " " If i 3 Then Mid$(s, 11 - x) "." If i 4 Then Mid$(s, 11 - x) " "
x = x + 1 If x 11 Then x 1: i = i + 1 If i 5 Then i 1
End Sub
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 nov. 2004 à 00:37
je m'aperçois que ça a tronqué mes espaces:

Private Sub Form_Load()
s = space$(10)x 1: i 1
End Sub
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 nov. 2004 à 23:33
Salut danielgrd
Pour faire ça, il te suffit d'un timer et dedans, tu mets un code qui affichera ce que tu veux en fonction d'un compteur :
Dim Compteur As Integer

Dans le timer :
Compteur = Compteur +1
If Compteur > ValMax Then Compteur = 1
Select Case Compteur
Case 01 : Text1.Text = " ..."
Case 02 : Text1.Text = " ..."
...
End Select

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005
18 nov. 2004 à 00:33
Merci de ta réponse Jack...

Mais le problème c'est que je n'ai pas réussi à le faire marcher... Il n'affiche, après le temps spécifier dans le timer, que le CASE 01.

Une question : D'ou vient 'ValMax'?

Est-ce une variable que je dois déclarer????

Merci
0

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

Posez votre question
danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005
18 nov. 2004 à 01:01
Je n'avait pas vu ta réponse Gobillot... Merci....

Mais malheureusement je n'ai pas plus réussi à la faire fonctionner...

Dès le début il y a un seul point qui apparaît, et ensuite BANG! ... (Argument ou appel de procédure incorrect) Je fais déboguage, et il me surligne ce bout de ligne :
' Mid$(s, x) = "." '

Merci d'avance
0
danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005
18 nov. 2004 à 01:03
MERCI Gobillot!

Ca MArche!!!!

J'ai lu ta correction apres d'avoir envoyé mon autre post.... Désolé...

Merci Encore!!!!
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 nov. 2004 à 01:08
ha bon j'ai eu peur, je croyais que t'étais en .NeT donc Mid$ ne marche pas.
j'avais bien mis au départ s= ".........." avec des espaces au lieu de points mais ça a mis un seul espace au lieu de 10.

Daniel
0
danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005
18 nov. 2004 à 01:11
Allo Gobillot, (ou quiconque qui peut me répondre...)

Je ne sais pas si tu vas revenir ici, mais j'aurais un autre question.

Si je ne veux pas qu'il y est de 'text1.text' vide, (donc dans mon 'AnimationTextBox-VBFRANCE.txt' je supprimerais les lignes 1, 21 et 41)

Comment pourrais-je faire?

J'ai essayé de comprendre ton petit bout de code, mais, même s'il est court, il est tellement Mathématique que je n'ai pas réussi à comprendre comment il marchait....

Merci d'avance...
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 nov. 2004 à 02:30
il y a 4 phases:
i 1 : x 1 à 10 : remplissage de points de gauche à droitei 2 : x 1 à 10: remise à espaces de gauche à droitei 3 : x 1 à 10: remplissage de points de droite à gauchei 4 : x 1 à 10: remise à espace de droite à gauche

donc 40 possibilités.

on a des espaces dans 2 cas:i 2 et x 10 i 4 et x 10

enlever les 2 premiers Rem pour supprimer ces 2 cas.

il reste des cas identiques et qui se suivent:
-un seul point à droitei 2 et x 9 avec i = 3 et x = 1
-un seul poit à gauche:i 4 et x 9 avec i = 1 et x = 1

enlever les 2 Rem suivants pour supprimer ces 2 autres cas.

Private Sub Timer1_Timer() If i 1 Then Mid$(s, x) "." If i 2 Then Mid$(s, x) " " If i 3 Then Mid$(s, 11 - x) "." If i 4 Then Mid$(s, 11 - x) " "
Text1 = sRem If i 2 And x 9 Then x = 10Rem If i 4 And x 9 Then x = 10
x = x + 1 If x 11 Then x 1: i = i + 1 If i 5 Then i 1Rem If i 1 And x 1 Then x = 2Rem If i 3 And x 1 Then x = 2
End Sub
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 nov. 2004 à 02:55
en simplifiant en seulement 4 phases de 9

'----- niveau général -----
Dim x As Integer
Dim i As Integer
Dim s As String

' ----- niveau initialisation -----
Private Sub Form_Load()
s = Space$(10)x 0: i 1
End Sub

'----- niveau Timer -----
Private Sub Timer1_Timer()    If i 1 Then Mid$(s, x + 1) "."    If i 2 Then Mid$(s, x) " "    If i 3 Then Mid$(s, 10 - x) "."    If i 4 Then Mid$(s, 11 - x) " "
    Text1 = s
    x = x + 1    If x 10 Then x 1: i = i + 1    If i 5 Then i 1
End Sub
0
Rejoignez-nous