Pourquoi Read ferme le programme VB.Net

Résolu
Utilisateur anonyme - Modifié par Hixale le 1/03/2017 à 17:00
vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
- 3 mars 2017 à 10:33
Module Module1 

Sub Main() 

Dim Variable As Integer 
Dim Variable2 As Integer 

Variable = Console.Read 
Variable2 = Console.Read 

Console.WriteLine(Variable & "+" & Variable2 & "=" & Variable + Variable2) 


Console.Read() 

End Sub 

End Module 



Quand je laisse Read et que je tape 7 et que j'appui sur entré ça ferme le programme

si je met ReadLine et que je tape 7 le programme s’exécute normalement

Pourquoi?

3 réponses

vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
158
1 mars 2017 à 17:48
bonjour
Pour apprendre VB net je te conseille ce cours : http://plasserre.developpez.com/cours/vb-net/
1
Utilisateur anonyme
1 mars 2017 à 18:20
j'en ai pour 30 ans pour apprendre tout ça lol
0
vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
158 > Utilisateur anonyme
Modifié par vb95 le 1/03/2017 à 18:47
Il n'est pas question de tout apprendre : il suffit d'avoir de bonnes bases solides et de savoir ensuite aborder une spécificité du langage dont on a besoin
Par analogie tu ne connais pas toute la langue française par cœur mais tu peux suivre une discussion et écrire une lettre . Par contre si tu tombes sur le mot "ACULEIFORME" tu cherches dans un dictionnaire ou sur Google sa signification .
En programmation c'est pareil
Autre chose les termes "bonjour" et "merci" sont appréciés lors des messages
0
Whismeril
Messages postés
17805
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 septembre 2022
616
1 mars 2017 à 18:06
Bonjour

Henry te l'a expliqué en long et en large ici
http://www.commentcamarche.net/forum/affich-34394845-difference-entre-read-et-readline-vb-net

Read ne ferme pas le programme, il attend que tu appuies sur une touche, n'importe laquelle.
Et comme tu n'as plus aucune instruction après, le programme se termine.

0
Utilisateur anonyme
1 mars 2017 à 18:18
moi il ferme le programme essai le et dis moi si toi il le ferme ou pas
0
Whismeril
Messages postés
17805
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 septembre 2022
616
1 mars 2017 à 18:21
Je n'ai pas la patience de NHenry, donc je le répète une fois pour toute.

Read ne ferme pas le programme, il attend que tu appuies sur une touche, n'importe laquelle.
Et comme tu n'as plus aucune instruction après, le programme se termine.

Si tu n'es pas capable d'accepter ce fait simple, personne ne pourras rien pour toi.
0
Utilisateur anonyme > Whismeril
Messages postés
17805
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 septembre 2022

1 mars 2017 à 18:25
Bah j'ai bien se code après nn?
Console.WriteLine(Variable & "+" & Variable2 & "=" & Variable + Variable2)
0
vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
158 > Utilisateur anonyme
Modifié par vb95 le 1/03/2017 à 18:45
bonjour
Oui mais tes 2 lignes de code après se font en quelques millisecondes et le programme se ferme avec le End Sub : tu n'as pas le temps de voir !
Le mode Console n'est plus guère utilisé maintenant : on n'est plus au temps de DOS (Disk Operating System)
Un salut à Whismeril
0
Utilisateur anonyme > vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022

1 mars 2017 à 18:54
ouais bref j'aurais jamais une réponse pertinente à ma question , je suis en mode console car j'apprend sur openclassrooms :)
0
Utilisateur anonyme
2 mars 2017 à 23:35
OK merci. du coup avec Read quand je tape par exemple 7 il le met directement dans la Variable sans qu'on est besoin d'appuyer sur entrée ? il sert à pas grand chose dans ce cas Read puisque qu'on ne peux additionné ou autre , à part appuyer sur entrée pour fermer le programme à la fin ?
0
vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
158
Modifié par vb95 le 3/03/2017 à 00:50
A quoi sert Console.Read ?
A taper une seule touche et à savoir laquelle si nécessaire
Un exemple simple :

Module Module1

Sub Main()

Dim Variable As Integer
Dim Variable2 As Integer

Variable = Console.ReadLine() ' entre le premier nombre
Variable2 = Console.ReadLine() ' entre le second nombre
Console.WriteLine("Variable + & Variable2 = " & Variable + Variable2) ' affiche l'addition
Console.Read() ' Attend que tu frappes une touche sinon tu ne verrais rien

End Sub

End Module


Et ce n'est pas sa seule utilisation : il est capable de savoir quelle touche a été frappé et c'est ça l'important
Prends en exemple les 4 flèches dans un jeu où tu diriges un personnage sur le plateau de jeu ( ce n'est plus du mode Console mais à la base c'est les mêmes instructions qui sont exécutées )

Regarde cet exemple simple qui affiche "Salut" dans la console
Si tu enlèves Console.Read() le programme se termine directement
Si tu le laisses tu dois taper une touche pour que le programme se termine



Module Module1
Sub Main()
Console.Write("Salut")
Console.Read()
End Sub
End Module
0
Utilisateur anonyme > vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022

3 mars 2017 à 01:42
je voulais juste montrer l'exemple avec mon code pour dire qu'il servait juste a appuyer sur entrée pour terminer le programme, après comme tu dis il peut servir pour les 4 flèches ou par exemple peut-être la touche supprimé , après je sais pas si c'est la même fonction mais bon :)
0
vb95
Messages postés
3056
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
22 septembre 2022
158 > Utilisateur anonyme
3 mars 2017 à 10:33
Bonjour
Je pense que maintenant tu peux mettre le sujet comme Résolu
a + si besoin
0