Forums d'entraide informatique - Les forums de PCW

Version complète : Visual Basic : faire défiler du texte ?
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonsoir à vous

Je n'ai pas fait de Visual Basic, je vais apprendre cela dès maintenant

A suivre
Je pense pouvoir aider un peu pour ceux qui utilisent le VB sous plateforme dotnet.

Image: vb1ht9.th.jpg

1/ Créez un timer : dans la boite à outil, composant, cliquez sur timer... Ensuite allez dans la barre (chiffre 2 sur l'image) et cliquez dessus pour créer votre timer

2/ Nommez le comme vous voulez avant de modifier le code (comme d'hab, pour éviter de le renomer partout après ^^) en faisant clic droit, propriétés ...

Ensuite, pour le code, il suffit de faire un double clic sur votre timer pour aller à la gestion de l'évènement du "tick" du timer. Cela génère un code du style :

    Private Sub monTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles monTimer.Tick

End Sub
End Class


Dedans vous incluez l'action à réaliser à chaque intervalle.

Exemple dans le programme que j'avais à réaliser :

    Private Sub Clignotant1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clignotant1.Tick
If (valeurT1.Text > seuilT1.Text) Then

If (int_1 = 0) Then
seuilT1.BackColor = Color.Pink
int_1 = 1
Else
seuilT1.BackColor = Color.White
int_1 = 0
End If
End If
End Sub



Exemple plus complexe : (il manque pas mal de déclarations de variables qui auraient rendu beaucoup trop long le code ici ^^)


Private Sub gestion_F_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gestion_F.Tick
gestion_F.Interval = frequenceT.Text
Clignotant1.Interval = 500
Clignotant2.Interval = 500
Do
'\* Génération aléatoire d'un nombre partant de la valeur précédente à laquelle on ajoute entre - 6 et + 6
int_al = Int((4 * Rnd()))

If (int_al = 0) Then
valeurT1.Text = valeurT1.Text + Int((6 * Rnd()))
valeurT2.Text = valeurT2.Text + Int((20 * Rnd()))
End If

If (int_al = 1) Then
valeurT1.Text = valeurT1.Text + Int((6 * Rnd()))
valeurT2.Text = valeurT2.Text - Int((20 * Rnd()))
End If

If (int_al = 2) Then
valeurT1.Text = valeurT1.Text - Int((6 * Rnd()))
valeurT2.Text = valeurT2.Text + Int((20 * Rnd()))
End If

If (int_al = 3) Then
valeurT1.Text = valeurT1.Text - Int((6 * Rnd()))
valeurT2.Text = valeurT2.Text - Int((20 * Rnd()))
End If
'\* Fin de la partie génération de nombre

'\* affichage:
value9 = value8
value8 = value7
value7 = value6
value6 = value5
value5 = value4
value4 = value3
value3 = value2
value2 = value1
value1 = value0
value0 = valeurT1.Text

evalue9 = evalue8
evalue8 = evalue7
evalue7 = evalue6
evalue6 = evalue5
evalue5 = evalue4
evalue4 = evalue3
evalue3 = evalue2
evalue2 = evalue1
evalue1 = evalue0
evalue0 = valeurT2.Text

' Déclaration de l'alerte pour la valeur 1
If (valeurT1.Text > seuilT1.Text) Then
text_alert = "***"
Clignotant1.Enabled = True
Clignotant1.Start()

Else
seuilT1.BackColor = Color.White
Clignotant1.Stop()
Clignotant1.Enabled = False
End If
' Déclaration de l'alerte pour la valeur 2
If (valeurT2.Text > seuilT2.Text) Then
text_alert = "***"
Clignotant2.Enabled = True
Clignotant2.Start()


Else
seuilT2.BackColor = Color.White
Clignotant2.Stop()
Clignotant2.Enabled = False
End If

'\* Compteur de périodes : int_temps
'\* Compteur du temps écoulé: fl_temps
fl_temps = int_temps * 0.001 * frequenceT.Text

If (int_temps > 9) Then ' le calcul de la moyenne est activé (les 10 valeurs requises sont présentes
f_moy1 = 0.1 * (value0 + value1 + value2 + value3 + value4 + value5 + value6 + value7 + value8 + value9)
f_moy2 = 0.1 * (evalue0 + evalue1 + evalue2 + evalue3 + evalue4 + evalue5 + evalue6 + evalue7 + evalue8 + evalue9)

affich_result.Items.AddRange(New Object() {"|" & ControlChars.Tab & "" & fl_temps & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & f_moy1 & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & valeurT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & f_moy2 & "" & ControlChars.Tab & "" & ControlChars.Tab & " | " & ControlChars.Tab & "" & text_alert & "" & ControlChars.Tab & "|"})
EnregistrerFichierTexte(direction, "" & vbNewLine & "|" & ControlChars.Tab & "" & fl_temps & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & f_moy1 & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & valeurT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & f_moy2 & "" & ControlChars.Tab & "" & ControlChars.Tab & " | " & ControlChars.Tab & "" & text_alert & "" & ControlChars.Tab & "|")
int_compter = int_temps

Else ' Si le calcul de la moyenne est activé

affich_result.Items.AddRange(New Object() {"|" & ControlChars.Tab & "" & fl_temps & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & ControlChars.Tab & "" & ControlChars.Tab & " | " & ControlChars.Tab & "" & text_alert & "" & ControlChars.Tab & "|"})
EnregistrerFichierTexte(direction, "" & vbNewLine & "|" & ControlChars.Tab & "" & fl_temps & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT1.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & ControlChars.Tab & "" & ControlChars.Tab & "|" & ControlChars.Tab & "" & valeurT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & seuilT2.Text & "" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "" & ControlChars.Tab & "" & ControlChars.Tab & " | " & ControlChars.Tab & "" & text_alert & "" & ControlChars.Tab & "|")

If (int_compter = 9) Then 'Rappel des noms de colonne toutes les 10 lignes de mesures pour la lisibilité de l'archive
EnregistrerFichierTexte(direction, "" & vbNewLine & "________________________________________________________________________________​________________________________________________________________________________​________________________")
EnregistrerFichierTexte(direction, "" & vbNewLine & "| " & ControlChars.Tab & "Temps" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "Pression" & ControlChars.Tab & "" & ControlChars.Tab & "| " & ControlChars.Tab & "Pression max" & ControlChars.Tab & "| " & ControlChars.Tab & "Pression moyenne" & ControlChars.Tab & "| " & ControlChars.Tab & "Température" & ControlChars.Tab & "| " & ControlChars.Tab & "Température max" & ControlChars.Tab & "| " & ControlChars.Tab & "Température moyenne |" & ControlChars.Tab & "Alerte" & ControlChars.Tab & " |")
EnregistrerFichierTexte(direction, "" & vbNewLine & "|_______________________|________________________|________________________|_____​__________________|________________________|________________________|___________​______________|_______________|")
End If
End If
'\* Fin de l'affichage
int_temps = int_temps + 1
Loop While (arbitre.Text = "&Lancer la simulation")
End Sub


Ici, on stocke 10 valeurs, dont on fait la moyenne, on affiche le tout toutes les Gestion_F ms (défini par l'utilisateur dans l'interface graphique lors du lancement de l'exécution via un textbox nommé frequenceT) etc... mais le plus important, c'est ce qui est entre les "private sub" - "end sub" et la définition de l'intervalle de temps pour le timer ^^

Je ne suis pas un génie du VB mais si je peux aider !! ^^

Thanks to ImageShack for Free Image Hosting

PS : j'adore le VB Smile pour des applis fait maison, rien de plus convivial je trouve 8)

Pages : 1 2
URLs de référence