IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

[TPW] Sortir du programme


Sujet :

Turbo Pascal

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut [TPW] Sortir du programme
    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

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    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ù.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    Citation Envoyé par wormful_sickfoot Voir le message
    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.

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Ton code ne compile pas, il faut passer un paramètre à Halt. Regarde l'aide du compilateur

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    Citation Envoyé par wormful_sickfoot Voir le message
    Ton code ne compile pas, il faut passer un paramètre à Halt. Regarde l'aide du compilateur
    J'ai essayé avec TPW et ça marche ,le problème c'est que mon programme ne se ferme pas !!
    Est ce que tu peux me dire comment utiliser la procédure halt sur mon programme. (l'aide du compilateur )
    Merci d'avance

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Jui,
    Citation Envoyé par WhiteTigerZ Voir le message
    J'ai essayé avec TPW et ça marche ,le problème c'est que mon programme ne se ferme pas !!
    Est ce que tu peux me dire comment utiliser la procédure halt sur mon programme. (l'aide du compilateur )
    Merci d'avance
    Tu donnes toi-même la solution.

    Regarde l'aide du compilateur.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    Citation Envoyé par droggo Voir le message
    Jui,

    Tu donnes toi-même la solution.

    Regarde l'aide du compilateur.
    bon j'ai modifié le code comme l'a dit wormful_sickfoot et ça marche toujours pas.L'aide du compilateur n'est pas utile c'est pour ça que je demande de l'aide.
    merci d'avance

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Koi,

    Alors montre-nous le code effectif que tu as actuellement, parce quand tu écris
    Citation Envoyé par WhiteTigerZ Voir le message
    J'ai essayé avec TPW et ça marche ,le problème c'est que mon programme ne se ferme pas !!
    Est ce que tu peux me dire comment utiliser la procédure halt sur mon programme. (l'aide du compilateur )
    Merci d'avance
    avec le code cité,
    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.
    je ne te crois pas vraiment, ça ne doit pas pouvoir compiler.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    Citation Envoyé par droggo Voir le message
    Koi,

    Alors montre-nous le code effectif que tu as actuellement, parce quand tu écris

    avec le code cité,
    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.
    je ne te crois pas vraiment, ça ne doit pas pouvoir compiler.
    si tu ne me crois pas vraiment alors regarde la capture d'écran.
    Pour le code j'ai pas grand chose j'ai juste changé halt ;
    par halt(1) ;
    dans mon cas ,c'est dur de cherche la solution du problème car TPW l'éxecute
    correctement
    Images attachées Images attachées  

  10. #10
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    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'.

    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.
    Ainsi, si tu réponds o à la question, cette ligne ne doit pas s'afficher, et inversement si tu réponds autre chose.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    je veux que ça se ferme quand l'utilisateur tape 'o' sans qu'il clique sur la case X à droite du fenêtre

  12. #12
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      writeln('réponse <> de o !!');
    - pour toute autre réponse, cette ligne doit s'exécuter, et le programme doit se terminer normalement.

  13. #13
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    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").

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Par défaut
    Merci beaucoup Drogg
    A propos tu utilises quoi comme compilateur ?

  15. #15
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Kio,
    Citation Envoyé par WhiteTigerZ Voir le message
    Merci beaucoup Drogg
    A propos tu utilises quoi comme compilateur ?
    J'ai réinstallé TPW juste pour tester ton prog.

    Sinon, il y a longtemps que je n'utilise plus Pascal, Delphi, ou autres dérivés de Pascal.

  16. #16
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 055
    Billets dans le blog
    2
    Par défaut
    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]

  17. #17
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Jio,
    Citation Envoyé par Alcatîz Voir le message
    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.

    Vérifié, ça marche.

Discussions similaires

  1. sortir du programme a partir d'une fonction
    Par Torx26 dans le forum Débuter
    Réponses: 27
    Dernier message: 14/01/2012, 08h20
  2. Sortir du programme en cliquant sur une touche
    Par demoisellex dans le forum Langage
    Réponses: 5
    Dernier message: 17/12/2011, 14h27
  3. Sortir d'une proc sans sortir du programme
    Par gyver4000 dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 28/03/2009, 11h20
  4. [TPW] Blocage du programme lors de l'exécution
    Par JetliMohamed dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/01/2008, 00h47
  5. Sortir de programme
    Par nielsou dans le forum C++
    Réponses: 10
    Dernier message: 06/06/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo