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

C++ Discussion :

C++ fenêtre bloqué


Sujet :

C++

  1. #1
    Vestigo
    Invité(e)
    Par défaut C++ fenêtre bloqué
    ,je suis nouveau sur le forum et je viens de me mettre au C++ !!

    J'ai programmé un petit programme , et quand le programme s'affiche dans la fenêtre D-OS j'aimerai qu'il soit impossible de fermer cette fenetre avant la fin de mon programme, ou alors la fenêtre se fermerait mais elle serait tout de suite remplacée par une autre avec le même contenu.

    Voilà si vous aviez comment faire...
    Merci de me répondre.

  2. #2
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Je vais peut-etre dire des betises, mais à mon avis, avec une fenetre en mode console, tu ne peux pas maitriser sa fermeture.

    Par contre, tu peux tres bien creer une fenetre "graphique" qui affiche les infos comme une fenetre console, et là, vu que tu est le créateur de la fenetre, tu peux en maitriser tout les parametres.

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Ce code gère le signal de segfault, mais il y a un surement un signal pour la fermeture de fenêtre... Si tu l'interceptes, tu peux alors demander l'ouverture de ton programme à nouveau, et en paramètre, tu donnes "l'étape" où ça en était. Mais quelle est l'utilité?

  4. #4
    Vestigo
    Invité(e)
    Par défaut
    Ok merci, si vous pouviez me dire comment créer mon interface graphique, j'ai
    DEV-C++.

    Et aussi pour mon problème peut être peut on faire une alternative c'est à dire quand on ferme la fenêtre, une autre ayant le même contenu s'ouvre à l'instant?

  5. #5
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Et aussi pour mon problème peut être peut on faire une alternative c'est à dire quand on ferme la fenêtre, une autre ayant le même contenu s'ouvre à l'instant?
    Le plus simple est de n'autoriser la fermeture que quand tu le souhaites.

    Par contre, tu peux autoriser de réduire la fenetre tout le temps si l'utilisateur veut la cacher.

  6. #6
    Vestigo
    Invité(e)
    Par défaut
    Ok, merci, alors si je autorise à fermer la fenetre à un certains moment ça veut dire que la personne qui lira mon programme, ne pourra fermer la fenêtre qu'à un certains moments?
    Je comprend pas trop ce que tu dis vu que les autres mon dit qu'il fallait une interface graphique.
    Peux tu m'en dire plus?
    Merci aux autres en tout cas.

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Il faut détacher ton processus du terminal.

  8. #8
    Vestigo
    Invité(e)
    Par défaut
    Ok merci, mais j'ai oublié de dire que je suis un petit débutant.C'est quoi un terminal?processus?(mon programme?)

  9. #9
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Je comprend pas trop ce que tu dis vu que les autres mon dit qu'il fallait une interface graphique.
    Fenetre = interface graphique.

    Quand tu crees ta fenetre, tu peux preciser si elle a ou pas un bouton "fermer", si celui-ci est actif tout le temps ou pas...

    Donc si tu ne rend actif le bouton "fermer" qu'a certains moments, ben... on ne peut fermer la fenetre qu'a ce moment-là.

    Apres, dans ta fenetre (ton interface graphique) tu mets ce que tu veux : une grande zone de texte (comme une fenetre ms-dos) ou des boutons ou je ne sais quoi d'autre

    C'est quoi un terminal?
    C'est la fenetre "MS-DOS". Vu que cette fenetre, tu n'en est pas le createur, ben, tu peux rien controler dessus. (en tout cas, pas facilement)

    processus?
    Pour resumer, c'est ton programme.

    Il faut détacher ton processus du terminal.
    Ca veut dire qu'il faut executer ton programme dans une autre fenetre que celle du terminal : dans une fenetre que tu crées et que tu maitrise.


    Mais si tu en disait plus sur le but de ton programme, pourquoi il ne faut le fermer qu'a certains moment... ben ce serait plus facile de t'aider

  10. #10
    Vestigo
    Invité(e)
    Par défaut
    Ok, merci je crois que j'ai compris(je débute).Tu expliques super bien!
    Alors je répond à ta question, mon programme n'a rien d'exceptionel. Il est un peu nul, mais pour l''instant c'est tout ce que je sais faire. Dans mon programme j'ai enlevé les indications pour vous.

    #include <iostream>
    using namespace std;
    int main()
    {
    cout << "Bonjour, tout le monde!\n" ;

    system("PAUSE");

    cout << Sa va?\n";

    system ("PAUSE");

    Voilà terminé. Je vous avais prévenu c'est pas terrible... Je rajouterais peut être d'autres choses...
    Certains disent que je dois écrire:
    cout << "Bonjour, tout le monde\n";

    comme ça:

    cout << "Bonjour, tout le monde >>end
    Je me rappel plus trop, mais il doit y avoir: >>end.
    Laquelle syntaxe est la bonne, j'ai DEV-C++ et quand je compile et que j'éxécute mon programme tout marche bien ?!?

    Et pour l'interface graphique que dois je prendre comme, heuuu " libs" je crois, enfin le logiciel qui est compatible avec DEV-C++ et qui me permettrais de créer mon interface graphique ??

  11. #11
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Ben si ton but est de faire des programmes pour windows, tu devrais t'interresser des maintenant aux interfaces graphiques.

    Il y a de nombreuses options différentes :

    - utiliser les MFC (avec VS2005)
    - les winforms (je crois, je connait pas trop)
    - utiliser directement GDI (complexe)
    - GTK (librairie)
    - QT (librairie)

    Par contre, je ne connais pas trop DEV-C++, je ne sais donc pas trop ce qui est compatible ou pas.

    Je te conseillerais d'utiliser Visual Studio 2005 Express, qui est gratuit, complet et de nombreuses librairies peuvent etre utilisées avec. En plus c'et un compilateur très utilisé, tu trouveras facilement de l'aide.

    Ce n'est que mon avis perso.

  12. #12
    Vestigo
    Invité(e)
    Par défaut
    Ok merci, mais qu'est ce qu'une librairie??
    et, as tu regardé les 2 façon écrites de mon programme?laquelle est la bonne?
    et pour mon interface graphique, je ne sais pas comment la programmer.Quelqu'un peut me mettre un exemple??

  13. #13
    Vestigo
    Invité(e)
    Par défaut
    Bon qui peut me fournir un lien pour visual studio2005??

  14. #14
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Une librairie, c'est un ensemble de fonctions qui servent à faire des choses courantes.

    Par exemple, dans une librairie graphique tu va trouver les fonctions pour :
    - ouvrir une fenetre
    - ajouter un bouton
    - ajouter une liste
    ....

    Dans une librairie mathématique, tu va trouver les fonctions pour :
    - calculer des expressions de maths
    - resoudre des equations
    ....

    Pour visual studio, regarde dans les FAQ, tout y est, je crois.

    Sinon, sur MSDN (le site de reference des docs windows) tu as les liens pour telecharger tout ce qui faut.

    L'installation peut etre un peu complexe selon ta config (il faut installer VS2005 + Framework .NET + le platform SDK....) le mieux est de regarder dans un tutoriel, mais j'ai pas de lien sous la main.

  15. #15
    Vestigo
    Invité(e)
    Par défaut
    Ok merci, mais moi je n'ai télécharger que Virtual studio 2005 express edition.
    Et c'est quoi un bouton?
    et pour mon programme y'at-il des fautes?

    #include <iostream>
    using namespace std;
    int main()
    {
    cout << "Bonjour, tout le monde!\n" ;

    system("PAUSE");

    cout << Sa va?\n";

    system ("PAUSE");





    ou alors comme ça:


    #include <cstdlib>
    #include <iostream>

    using namespace std;
    int main()
    {
    cout << "Bonjour,tout le monde" << endl;
    system("PAUSE");

    cout << "Sa va?" << endl;

    system("PAUSE");
    return EXIT_SUCCESS;

    }
    ????

  16. #16
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    1. Déjà, c'est toujours un programme console. Sous Windows, il est impossible d'empêcher la fermeture de la console de tuer le programme (sauf peut-être si c'est le programme qui s'en détache/la détruit). Mais sous XP (et sans doute NT/2000 aussi), il est possible de la détecter pour faire le nettoyage avant que ça quitte.
    2. Ton premier programme n'inclut pas <cstdlib>.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  17. #17
    Vestigo
    Invité(e)
    Par défaut
    ,bon ben j'ai installé Visual C++.
    Comment dois je faire pour créer, et paramétrer ma propre fenêtre ???

  18. #18
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Commence par lire l'ensemble de ce document :

    http://bob.developpez.com/tutapiwin/

  19. #19
    Vestigo
    Invité(e)
    Par défaut
    C'est long . Bon ok .
    Merci, t'es sympa.

  20. #20
    Vestigo
    Invité(e)
    Par défaut
    Je comprend rien au projet, ça ne concorde pas avec les options que j'ai...

Discussions similaires

  1. purebasic runprogram( bloque la fenêtre principale
    Par chourmovs dans le forum PureBasic
    Réponses: 4
    Dernier message: 25/03/2010, 22h19
  2. "Une fenêtre publicitaire intempestive a été bloquée"
    Par pseudodejautilis dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/11/2009, 19h40
  3. Fichier/Fenêtre/Aide Accès bloqué
    Par vorjan dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/08/2008, 10h39
  4. Fenêtre PHP bloquée
    Par david.thiltgen dans le forum Langage
    Réponses: 4
    Dernier message: 16/04/2007, 12h19
  5. [VB.NET] Jouer un son Wav sans que la fenêtre se bloque
    Par Winder dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/11/2006, 20h54

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