Bonjour ,
Je désire savoir s'il existe une fonction ou une procédure qui permet la fermeture du programme pascal !!
Merci d'avance pour votre réponse![]()
Bonjour ,
Je désire savoir s'il existe une fonction ou une procédure qui permet la fermeture du programme pascal !!
Merci d'avance pour votre réponse![]()
Break, pour sortir d'une boucle. Exit, pour sortir d'une procédure ou fonction, ou pour arreter le programme dans la boucle principale. Halt pour quitter le programmer n'importe où.![]()
j'ai essayé 'halt' mais le programme ne se ferme pas (je veux que ça ferme sans que l'utilisateur clique sur la case X à droite du fenêtre
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 program sortie ; uses wincrt; var n :char ; begin writeln('desirez vous quitter le programme :(o/n)'); readln(n); if n = 'o' then halt ; end.
Ton code ne compile pas, il faut passer un paramètre à Halt. Regarde l'aide du compilateur![]()
Koi,
Alors montre-nous le code effectif que tu as actuellement, parce quand tu écris
avec le code cité,
je ne te crois pas vraiment, ça ne doit pas pouvoir compiler.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 program sortie ; uses wincrt; var n :char ; begin writeln('desirez vous quitter le programme :(o/n)'); readln(n); if n = 'o' then halt ; end.
Hui,
Je suis pour le moins surpris que ça puisse compiler comme ça, c'est un coup à mettre TPW à la poubelle !!
Ajoute une ligne d'affichage après celle qui contient le halt, car, dans l'état actuel, ton programme fait la même chose (du moins visuellement), que tu répondes 'o' ou 'n'.
Ainsi, si tu réponds o à la question, cette ligne ne doit pas s'afficher, et inversement si tu réponds autre chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 program sortie ; uses wincrt; var n :char ; begin writeln('desirez vous quitter le programme :(o/n)'); readln(n); if n = 'o' then halt(0) ; writeln('réponse <> de o !!'); end.
je veux que ça se ferme quand l'utilisateur tape 'o' sans qu'il clique sur la case X à droite du fenêtre
Kou,
J'ai bien compris, et c'est bien ce que doit faire le code indiqué :
- si tu réponds o à la question, il doit sortir immédiatement, sans exécuter
- pour toute autre réponse, cette ligne doit s'exécuter, et le programme doit se terminer normalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part writeln('réponse <> de o !!');
Jue,
Bon, comme je ne comprenais pas ton problème, j'ai installé TPW (il a fallu également remettre le lecteur de disquettes).
Et je vois ce que tu veux dire : la fenêtre d'exécution du programme ne se ferme pas à la fin, elle devient seulement "inactive".
Comme je n'ai jamais utilisé TPW pour faire des applications de type console, je ne fais que constater le fait, et ne connais pas la réponse. Une recherche sur le réseau n'a rien donné pour l'instant.
Et pour le halt sans paramètre, c'est ok : ce paramètre est effectivement optionnel (j'avais oublié, car une telle sortie "brutale" d'un programme doit être réservée à une erreur non récupérable par le programme, et doit donc n'être utilisée qu'exceptionnellement, or, je sécurise toujours mes programmes côté entrées/sorties/calculs..., ce qui représente beaucoup de code, mais conduit à des logiciels "solides").
Merci beaucoup Drogg
A propos tu utilises quoi comme compilateur ?![]()
Bonjour !
Je pense que pour que la fenêtre WinCRT de ton appli s'exécute et se ferme proprement, tu dois commencer ton programme par InitWinCRT et le terminer par DoneWinCRT.
![]()
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Partager