QuickBasic - Impossible d'executer un prog
Résolu
Fonx2
Messages postés
348
Statut
Membre
-
Fonx2 Messages postés 348 Statut Membre -
Fonx2 Messages postés 348 Statut Membre -
Bonjour,
Voila je cherche à s'implifier la compression/décompression par le célèbre UPX. Pour cela, j'ai essayé de créer un petit éxecutable en Basic. Seulement voila: je n'arrive pas à lui ordonné de lancer upx.exe. J'ai essayé "RUN" et "CHAIN" mais j'obtient toujours la même erreur. Voici le contenu de mon programme:
CLS
PRINT "Utilitaire de (d‚)compression pour UPX"
PRINT
INPUT "Comment s'appel le fichier à traiter"; Fichier$
PRINT
PRINT "Liste des choix disponibles:"
PRINT "c = Compression"
PRINT "d = Décompression"
PRINT "q = Quitter"
PRINT
INPUT "Que voulez-vous faire"; Op$
PRINT
WHILE Op$ <> "c" AND Op$ <> "d" AND Op$ <> "q"
PRINT
PRINT "ERREUR: Votre choix est inconnu!"
PRINT
PRINT "Rappel: le fichier à traiter est: "; Fichier$
PRINT
PRINT "Liste des choix disponibles:"
PRINT "c = Compression"
PRINT "d = Décompression"
PRINT "q = Quitter"
PRINT
INPUT "Que voulez-vous faire"; Op$
WEND
IF Op$ = "c" THEN
PRINT "Vous avez choisi de compresser "; Fichier$:
CHAIN "C:\UPX\upx.exe -c; Fichier$":
END
END IF
IF Op$ = "d" THEN
PRINT "Vous avez choisi de décompresser "; Fichier$:
CHAIN "C:\UPX\upx.exe -d; Fichier$":
END
END IF
IF Op$ = "q" THEN END
END
Voila. Je soupsconne que le fait de mettre les paramètres d'upx.exe dans les "" de la fonction CHAINE est responsable de mon problème mais je ne sais pas y remédier c'est pour quoi je fait appel à vous pour un petit coup de pouce.
Merci d'avance!!
Voila je cherche à s'implifier la compression/décompression par le célèbre UPX. Pour cela, j'ai essayé de créer un petit éxecutable en Basic. Seulement voila: je n'arrive pas à lui ordonné de lancer upx.exe. J'ai essayé "RUN" et "CHAIN" mais j'obtient toujours la même erreur. Voici le contenu de mon programme:
CLS
PRINT "Utilitaire de (d‚)compression pour UPX"
INPUT "Comment s'appel le fichier à traiter"; Fichier$
PRINT "Liste des choix disponibles:"
PRINT "c = Compression"
PRINT "d = Décompression"
PRINT "q = Quitter"
INPUT "Que voulez-vous faire"; Op$
WHILE Op$ <> "c" AND Op$ <> "d" AND Op$ <> "q"
PRINT "ERREUR: Votre choix est inconnu!"
PRINT "Rappel: le fichier à traiter est: "; Fichier$
PRINT "Liste des choix disponibles:"
PRINT "c = Compression"
PRINT "d = Décompression"
PRINT "q = Quitter"
INPUT "Que voulez-vous faire"; Op$
WEND
IF Op$ = "c" THEN
PRINT "Vous avez choisi de compresser "; Fichier$:
CHAIN "C:\UPX\upx.exe -c; Fichier$":
END
END IF
IF Op$ = "d" THEN
PRINT "Vous avez choisi de décompresser "; Fichier$:
CHAIN "C:\UPX\upx.exe -d; Fichier$":
END
END IF
IF Op$ = "q" THEN END
END
Voila. Je soupsconne que le fait de mettre les paramètres d'upx.exe dans les "" de la fonction CHAINE est responsable de mon problème mais je ne sais pas y remédier c'est pour quoi je fait appel à vous pour un petit coup de pouce.
Merci d'avance!!
A voir également:
- QuickBasic - Impossible d'executer un prog
- Quickbasic - Télécharger - Édition & Programmation
- Robot prog - Télécharger - Édition & Programmation
- Executer un programme au demarrage - Guide
- Commandes executer - Guide
- Executer un fichier iso - Guide
3 réponses
Bonjour,
Je viens d'effectuer quelques essais avec votre programme.
Comme je n'ai pas UPX.EXE, je me suis limité à PKZIP.EXE pour voir le bon fonctionnement du programme.
Tout va à merveille avec PKZIP.EXE. La modification apportée fut de changer CHAIN pour SHELL. Et oui, CHAIN n'accepte qu’un nom de fichier (un seul). Il va de soi, qu'il bloque sans hésitation en constatant un série de codes et un second fichier. Il n’a besoin que du nom du fichier pour chaîner et rien d’autre (pas de commandes et ni d’options). Par contre, SHELL est une fonction qui permet au QuickBASIC de lancer, à l’invite du DOS, des opérations avec commandes et options. En somme, SHELL permet d’exécuter des commandes DOS sans quitter le programme en cours.
Programme : CHAIN "C:\UPX\upx.exe -c; Fichier$":
Modification : SHELL "C:\UPX\upx.exe -c; Fichier$": ( à vérifier . . . )
Mon essai : SHELL " PKZIP –exx fiche " + fichier$ ( bon résultat )
-exx : compression maximale
fiche : nom du fichier de sortie avec extension ZIP
fichier$ : variable contenant le nom du fichier à compresser
NOTE : J’ai dû mettre un espace entre les guillemets et les caractères.
Ceci étant, il ne reste plus qu'à expérimenter diverses approches. À défaut de connaissance, je suis allé sur le WEB pour avoir quelques informations sur UPX.EXE. Là, j'ai appris qu'il suffisait de lancer UPX.EXE suivi du nom du fichier à compresser sans autre attention. Peut-être ai-je mal compris les informations.
J'opère sous WINDOWS. J'aimerais bien en connaître davantage car selon les infos, UPX permet de compresser des fichiers EXE de sorte à minimiser l'espace utilisé sur le disque dur et, très rapide à l'exécution lors de l'appel. Très intéressant.
Sur ce, mes salutations et ne perdons pas patience dans la recherche de solution.
AE
Je viens d'effectuer quelques essais avec votre programme.
Comme je n'ai pas UPX.EXE, je me suis limité à PKZIP.EXE pour voir le bon fonctionnement du programme.
Tout va à merveille avec PKZIP.EXE. La modification apportée fut de changer CHAIN pour SHELL. Et oui, CHAIN n'accepte qu’un nom de fichier (un seul). Il va de soi, qu'il bloque sans hésitation en constatant un série de codes et un second fichier. Il n’a besoin que du nom du fichier pour chaîner et rien d’autre (pas de commandes et ni d’options). Par contre, SHELL est une fonction qui permet au QuickBASIC de lancer, à l’invite du DOS, des opérations avec commandes et options. En somme, SHELL permet d’exécuter des commandes DOS sans quitter le programme en cours.
Programme : CHAIN "C:\UPX\upx.exe -c; Fichier$":
Modification : SHELL "C:\UPX\upx.exe -c; Fichier$": ( à vérifier . . . )
Mon essai : SHELL " PKZIP –exx fiche " + fichier$ ( bon résultat )
-exx : compression maximale
fiche : nom du fichier de sortie avec extension ZIP
fichier$ : variable contenant le nom du fichier à compresser
NOTE : J’ai dû mettre un espace entre les guillemets et les caractères.
Ceci étant, il ne reste plus qu'à expérimenter diverses approches. À défaut de connaissance, je suis allé sur le WEB pour avoir quelques informations sur UPX.EXE. Là, j'ai appris qu'il suffisait de lancer UPX.EXE suivi du nom du fichier à compresser sans autre attention. Peut-être ai-je mal compris les informations.
J'opère sous WINDOWS. J'aimerais bien en connaître davantage car selon les infos, UPX permet de compresser des fichiers EXE de sorte à minimiser l'espace utilisé sur le disque dur et, très rapide à l'exécution lors de l'appel. Très intéressant.
Sur ce, mes salutations et ne perdons pas patience dans la recherche de solution.
AE