Delphi > Executable > Affichage

- - Dernière réponse : cs_yanb
Messages postés
248
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
4 mars 2016
- 11 déc. 2014 à 16:11
Bonjour,
Mon programme fonctionne bien mais seul problème:
Lorsque je l'exécute et que je rentre des donnés nécessaire, le résultat apparaît une seconde et la fenêtre se ferme.

je voudrais donc savoir ce qu'il y aurait à ajouter en Pascal dans mon programme afin que je puisse voir le résultat s'afficher.


Merci
Afficher la suite 

9 réponses

Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137
0
Merci
Je ne fais pas de Pascal/Delphi, mais il doit exister une fonction qu permet de recevoir et attendre un caractère du clavier (en .NET : Console.ReadKey() ) cela mettra en pause ton programme.
Commenter la réponse de NHenry
0
Merci
Où trouver cette fonction ?


Merci
NHenry
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137 -
Dans l'aide de ton environnement de développement ?
@NHenry Si je vais dans Aide:

L'aide de ce programme a été créée dans le format d'aide Windows, ce qui dépend d'une fonctionnalité non incluse dans Windows 8.1 ou Windows RT 8.1. Pour plus d'informations, rendez-vous sur le site Web de Microsoft Support.
NHenry
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137 -
J'ai juste recherché "Delphi console get key" et les liens sont très prometteurs.
Commenter la réponse de 42jordan42
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10
0
Merci
Salut
si l'information ne s'affiche pas correctement sur l'écran plusieurs possibilités
- c'est pas très bien programmé (la machine ne fait que ce qu'on lui dit de faire)
- il y a un bug quelque part

il faudrait au moins avoir le bout de code de l'opération qui amène le défaut
a+
Commenter la réponse de dubois77
Messages postés
1
Date d'inscription
samedi 13 décembre 2008
Statut
Membre
Dernière intervention
8 décembre 2014
0
Merci
Bonjour,

Il est possible que ce soit mal programmé, que faudrait-il ajouté de spécial ?

Merci
Commenter la réponse de Lyon3emearron
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
0
Merci
Brrr....
Ce programme est ensorcelé !
Ce qu'il faut, c'est un exorcisme.
Commenter la réponse de korgis
0
Merci
Ouais bon merci de votre aide je ne trouverais donc jamais de solution
Commenter la réponse de 42jordan42
0
Merci
(Programme que l'on fait en cours mais avec un prof où c'est débrouille toi)
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var S,ST,SP, I,NBF,NBH,STF,STH,XG,XF,P,T,X28 : integer     ;
  R ,MOYT,MoyP,MoyST,MoySp,MoyTF,MoyTH  : currency;


BEGIN
ST:=0;
SP:=0;
I:=0;
NBF:=0;
NBH:=0;
STH:=0;
STF:=0;
XG:=0;
XF:=0;

While ((S=1) OR (S=2)) DO
        BEGIN
        I:=I+1;
        writeln ('poids');
        readln (P);
        writeln ('taille');
        readln (T);
        ST:= ST+T;
        Sp:=Sp+P;
        END;

        IF (S=1) THEN
        BEGIN
        NBH:=NBH+1;
        STH:=STH+1;
        END
                ELSE
                BEGIN
                NBF:=NBF+1;
                STF:=STF+T;
        END;
        R:= T/P;
                IF (R<2.8) THEN
                BEGIN
                X28:= X28+1;
                END;
        MoyST:=ST/I;
        MoySP:=Sp/I;
                IF (I>0) Then
                BEGIN
                MoyT:= ST/I;
                MoyP:=SP/I  ;
                writeln (moyT,Moyp) ;
                END
                        else
                              begin
                        writeln ('incalculable');
                END;

                  Writeln (X28);
                  writeln (XG);
                  writeln (XF);

IF (NBF>0)  THEN
begin
MoyTF :=STF/NBF;
writeln (MoyTF);
end
        ELSE
        begin
        writeln ('Incalculable');
END;
        IF (NBH>0) THEN
        BEGIN
        MoyTH :=STH/NBH;
        end
                Else
           begin
           writeln('incalcau');
           END;
           writeln (X28);

                IF (S=1) and (T>180) and (P>80) Then
                BEGIN
                XG:=XG+1;
                END;

                        IF (S=2) AND (T>85) AND (T<175) and (P>50) and (P<80) THEN
                        BEGIN
                        XF:=XF+1 ;
                        END ;
                        BEGIN
                        writeln ('sexe');
                        readln(S);
                        END;


  { TODO -oUser -cConsole Main : placez le code ici }
end.
dubois77
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10 -
Pour pouvoir lire l'écran avant son extension, ajoute un readln à la fin, le programme attendra que tu répondes donc que tu aies le temps de lire
Commenter la réponse de 42jordan42
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
11
0
Merci
Ce code ! Pas de commentaires, variables incompréhensibles... c'est vachement pédagogique comme exercice...

Utilises l'instruction
Sleep({milliseconds}); 
pour temporiser ton application, comme expliqué dans : http://www.commentcamarche.net/forum/affich-28652668-temporisation-sous-delphi

Ça te permettra de voir le résultat de ton application avant qu'elle se ferme.

Et sinon utilises le moteur de recherche du site avant de poser une question, et quand tu postes du code, utilises les balises de codes.

Simon
Commenter la réponse de sp40
Messages postés
248
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
4 mars 2016
5
0
Merci
Salut,
bah je sais pas trop quoi dire à part c'est un grand n'importe quoi !
déja la boucle while sert à rien S n'a jamais de valeur !
Supposons qu'il manque un Readln(S) avant le while...on rentrerai dans une boucle infinie, donc faudrait un S:=0 en fin de boucle par exemple pour en sortir...
Ensuite si P ou I égal 0 on doit être sorti de la console vite fait à coup de pompe dans le... par exemple quand on arrive à R:=T/P (ouais div par 0 ca aime pas)...je suppose que déjà au début si tu initialisais P:=1 la console s'afficherait...bah peut-être :p
Après je m'arrête je regarde pas la suite...il faudrait déjà un minimum, il n'y a pas grand chose de correct pour t'aider et être constructif.
@+
Commenter la réponse de cs_yanb