Probleme avec la fonction "while"

Résolu/Fermé
over64 - 1 mars 2014 à 21:08
 over64 - 2 mars 2014 à 12:44
Salut tout le monde voila mon problème : depuis quelques jours j'ai appris les bases du Vb net pour programmer un invite de commande en Vb.

Je vais allez droit au but, mon application doit pouvoir afficher la date et l'heure avec les minutes et les secondes et demander à l'utilisateur le temps d'activité du programme. Mais mon programme ne marche : on début il me demande bien le temps d'activité ensuite il lance l'heure mais se ferme juste après.

Voici mon code :


Module Module1
Sub Main()
Dim time As Date, val1 As String, val2 As Integer, temps As Integer
temps = 0
Do
Console.WriteLine("Choisissez la durée d'activité du programme ( En minutes )")
Console.WriteLine(" ")
val1 = Console.ReadLine
Console.Clear()
Loop Until IsNumeric(val1)
val1 = val2
Do
temps = temps + 1
time = Date.Now
Console.WriteLine("----- Nous sommes : " & time.ToLongDateString & " -----")
Console.WriteLine(" ")
Console.WriteLine(" ----- Et il est : " & time.ToLongTimeString & " -----")
System.Threading.Thread.Sleep(1000)
Console.Clear()
Loop While val2 >= temps
End Sub
End Module



Merci de m'aider !
@+

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 195
1 mars 2014 à 21:55
Bonjour,

Attention de ne pas nommer des variables comme des fonctions réservées. Changes
Dim time As Date
par
Dim myTime As Date


val2 n'est jamais initialisé !!! Sa valeur est toujours à 0.

De plus pourquoi val1 = val2 ? Ca n'a pas de sens. val1 est déclaré en string et val2 en integer !!!

Je pense que tu voulais assigner val1 à val2.

val2 = CInt(val1)


;0)
0
Merci infiniment ça marche ! Grace à toi j'ai aussi compris mes erreurs !

Donc si j'ai juste tu m'as fait renommé la variable time par mytime pour éviter la confusion et tu m'as fait changer val1 = val2 par val2 = Cint(val1) pour que val1 soit un nombre entier

:) <3
0