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++Builder Discussion :

Application VCL en mode Console


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut Application VCL en mode Console
    Bonjour Tout le Monde,

    j'ai une projet en VCL, je voudrais faire une option pour avoir un deuxieme choix c'est à dire en mode console, c'est à dire ayant les arguments de la console DOS je peux les mouliner avec mes fonctions qui sont dans mon projet (qui est en mode vcl) afin de générer des résultats vars la fenetre DOS.
    Est ce que ceci est possible?
    Sinon comment peut-on utiliser les
    if ( ParamCount() > 0 )
    Memo1->Lines->LoadFromFile(ParamStr(1));
    ?

    Merci à l'avance.


    --
    Bien Cordialement

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Je ne suis pas sur d'avoir compris ton problème...
    Récupérer les paramètres passés à ton éxecutable et les exploiter (que ce soit une application console ou fenêtrée) c'est possible effectivement via ParamStr:

    En mode fenêtré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for( int i=0; i <= ParamCount(); i++)
    {
      Memo1->Lines->Add( "Paramètre n°" + IntToStr(i) + " : " + ParamStr(i) );
    }
    En mode console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int main(int argc, char* argv[])
    {
      printf( "   LISTE DES PARAMETRES\n\n" );;
      for( int i=0; i <= ParamCount(); i++)
      {
        printf( "Parametre %d : ",i );
        printf( ParamStr(i).c_str() );
        printf( "\n");
      }
      getchar();
      return 0;
    }
    Par contre si tu souhaite écrire des résultats dans la fenêtre DOS depuis ton application fenêtrée, ca ne me semble impossible.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    Salut Sat83,

    En fait, j'ai un projet en mode VCL (boutons, menu, Edit,...), mais maintenant je suis dans l'obligation de le faire tourner en mode console, c'est à dire je garde les même fonction qui étaient dans mon projet VCL, mais cette fois je reçois les arguments dans le "argc" (qui au cas précédent étaient tapés dans les Edits..).

    Je pense que c'est possible en créant un projet console et faire du copier / coller, mais je veux savoir si il existe un moyen de le faire sans créer un nouveau projet console (en gros , l'IHM de la VCL reste invisible, une fenetre dos est crée, le user tape les arguments, les fonctions les traitent puis rediriges les résultats vers la sortie standard).

    Désolé si j'étais pas assai claire.

    Merci à l'avance.



    Citation Envoyé par sat83 Voir le message
    Je ne suis pas sur d'avoir compris ton problème...
    Récupérer les paramètres passés à ton éxecutable (que ce soit une application console ou fenetrée) c'est possible effectivement via ParamStr:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( ParamCount() > 0 )
    {
      Memo1->Lines->Add( ParamStr(1) );
    }
    Par contre si tu souhaite écrire des résultats dans la fenêtre DOS depuis ton application fenêtrée, ca ne me semble impossible.

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Dans ton fichier .cpp qui porte le nom de ton projet tu dois mettre qqchose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Application->CreateForm(__classid(TForm1), &Form1);
            if(ParamCount() > 0)
            {
                // Ici tu fais de quoi avec AttachConsole / FreeConsole
                return 0;
            }
            Application->Run();

Discussions similaires

  1. Executer une application en mode console
    Par Invité(e) dans le forum Débuter
    Réponses: 5
    Dernier message: 26/08/2009, 12h37
  2. Réponses: 1
    Dernier message: 29/07/2009, 09h02
  3. Consulter console avec application VCL
    Par Matt112 dans le forum C++Builder
    Réponses: 1
    Dernier message: 20/09/2008, 22h12
  4. [C#] Quitter une application en mode console
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/04/2005, 21h37
  5. impression - application mode console
    Par yanska dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2004, 15h07

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