Rechercher : dans
Par :

Lancer un exe dans une boite de dialogue

Dernière réponse le 16 fév 2009 à 11:03:33 todovski, le 10 fév 2009 à 16:44:07 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite exécuter un programme en mode console dans une boite de dialogue
J'ai vu que l'on pouvait utiliser la commande system() mais je n'arrive pas à l'utiliser correctement.
J'ai rentré la commande suivante:

system("C:\Users\Boune\Documents\cours M2\Projet\JPEG2000\jasper\jasper-1.900.1\src\msvc\Win32_Debug\jasper --input feep.pnm --output toto1.jp2 --output-format jp2")

jasper --input feep.pnm --output toto1.jp2 --output-format jp2 : corresponds aux parametres que je dois rentrer pour exécuter le programme.

Normalement en exécutant cette ligne une image toto1.jp2 doit être créer mais la sa ne marche pas
Pourriez vous m'aider?

Configuration: Windows Vista
Firefox 3.0.6

Meilleures réponses pour « lancer un exe dans une boite de dialogue » dans :
[Windows] Personnaliser la boîte de dialogue 'Enregistrer' VoirPersonnaliser la boîte de dialogue "Enregistrer" ou "Enregistrer sous..." de Windows (XP ou 2000); Plus précisément, il s'agit de personnaliser la colonne de gauche, contenant par défaut les raccourcis (icônes) "Mes documents récents", "Bureau",...
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
[VB6/VBA] Le contrôle CommonDialog. VoirLes différentes fonctions du contrôle CommonDialog J'ai laissé toutes les constantes disponibles bien qu'elles ne sont pas toutes utilisées dans les fonctions proposées, elles permettront d'éventuelles recherches sur d'autres données...
Javascript - les boîtes de dialogue VoirQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet Soit d'avertir l'utilisateur Soit le confronter à un choix Soit lui demander de compléter un champ pour...
VBScript - Les boîtes de dialogue VoirQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet : soit d'avertir l'utilisateur ; soit le confronter à un choix ; soit lui demander de compléter un champ...

1

Char Snipeur, le 10 fév 2009 à 16:49:13

Oui, attention au "\" dans les chaines de caractères en C, car la backslash sert de caractère d'échappement, c'est à dire que le programme cherchera à interpréter la lettre qui suit comme une commande. il faut mettre "\\" si tu veux afficher le caractère donc system("c:\\Users\\...") Salutation !
Char Snipeur

Répondre à Char Snipeur

2

todovski, le 10 fév 2009 à 16:53:14

Voila ce que j'ai rentré mais sa ne marche toujours pas

system("C:\\Users\Boune\\Documents\\cours M2\\Projet\\JPEG2000\\jasper\\jasper-1.900.1\\src\\msvc\\Win32_Debug\\jasper --input feep.pnm --output t.jp2 --output-format jp2");

Répondre à todovski

3

Char Snipeur, le 10 fév 2009 à 17:13:43

Je ne sais pas si c'est ça, mais tu en a oublié un :
system("C:\\Users\\Boune\\Documents\\cours M2\\Projet\\JPEG2000\\jasper\\jasper-1.900.1\\src\\msvc\\Win32_Debug\\jasper --input feep.pnm --output t.jp2 --output-format jp2");
Sinon, récupère le code de retour de system et affiche le voir ce qu'il vaut. Salutation !
Char Snipeur

Répondre à Char Snipeur

4

todovski, le 12 fév 2009 à 14:33:06

Re bonjour,

Bon tu avais raison j'avais oublié un "/" maintenant fonctionne. Merci
Par contre je voulais savoir si on pouvait inclure une variable dans les parametre system()?
En fait je voudrais savoir si je pouvais avoir quelque chose qui ressemble à sa:

system("C:\\lo\\jasper --input "ma_variable1" --output "ma_variable2" --output-format "variable3"");
Merci d'avance

Répondre à todovski

5

Char Snipeur, le 12 fév 2009 à 14:59:21

Le prototype de system est system(const char *), donc ce qu tu veux faire n'est pas possible en C aussi facilement.
Il faut créer une chaine de caractère (Vsys par exemple) la remplir et la passer à system() (system(Vsys)).
Pour cela le plux simple est d'utiliser sprintf().
Il serait plus facile de faire ce que tu veux faire avec un langage plus "évolué" genre python ou perl. Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur

6

todovski, le 12 fév 2009 à 15:10:42

Le probleme c'est que je ne peut utiliser que du C++ car j'utilise des boites de dialogue.

En fait je voudrais que l'on puisse choisir le nom d'une image que l'on veut compresser puis mettre ce nom dans la ligne de commande :

system("C:\\lo\\jasper --NOM_IMAGE --output momo.jp2 --output-format jp2");
Donc il faudrait que je creer une chaine de caractere?
Je ne voit pas trop comment faire ?

Répondre à todovski

7

Char Snipeur, le 12 fév 2009 à 15:52:18

Là, c'est les bases !!
prends des cours, je ne vais pas tout t'expliquer ici.
Mais si tu fait du C++, utilise la STL et std::string, c'est plus simple, ça permet la concaténation :
std:: string c1,c2,c3;
system((c1+c2+c3).c_str()) Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

8

todovski, le 14 fév 2009 à 19:03:25

Bonjour,

Bon j'ai reussi à lancer l'application.
Merci
Par contre j'ai encore un autre probleme, j'ai deux boites de dialogues, j'ai une variable dans ma premiere boite que je voudrais recuperer dans la deuxieme, le probleme c'est que lorsque je ferme la premiere boite pour repasser dans la deuxieme la variable repasse à zero.
merci d'avance

Répondre à todovski

9

Char Snipeur, le 16 fév 2009 à 08:22:45

Il n'y a pas assez de détails sur ton application pour que l'on puisse te répondre.
Qu'appelle tu "boite de dialogue" ? Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur

10

Todovski, le 16 fév 2009 à 10:10:07

Bonjour,

J'utilise des boites de dialogues avec les MFC, mais la probleme des variables est resolu, je les stockent dans un fichier .txt et je les recupere ensuite. Par contre je voudrais savoir si il exister une autre methode pour supprimer un fichier ici un .txt? Moi j'utilise la commande : system(del "nom fichier")
Mais elle me convient pas.
Cordialement,

Répondre à Todovski

11

 Char Snipeur, le 16 fév 2009 à 11:03:33

Remove(const char*)
dans stdio.h ou stdlib.h ("man remove" pour en savoir plus)
Si tes boîtes sont dans un même processus, il y a plus simple que de passer par un fichier. Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur