Lancer des commandes Dos

Lancer des commandes Dos - Delphi/Pascal - Programmation

Marsh Posté le 07-05-2003 à 14:27:14    

Slt!
Bon, ça avance mon petit projet, mais là
je souhaiterai lancer des commandes DOS
à partir de mon appli faite avec Delphi.
 
ex:
-> dir "rep" > c:\result.txt
ou
-> prog.exe -param1 -param2 ..
 
Comment je peux faire ça ??
Merci.

Reply

Marsh Posté le 07-05-2003 à 14:27:14   

Reply

Marsh Posté le 07-05-2003 à 14:53:18    

pour les commandes DOS telles que "dir" il faut lancer cmd.exe /c la_commande sous NT et command.com /c la_commande sous 9x.
 
pour lancer un soft, par ex le dir, c'est ShellExecute(0, nil, PChar('cmd.exe';), PChar('/c dir c:\bidule >results.txt';), PChar(ExtractFilePath(ParamStr(0))), SW_SHOWNORMAL);
 
ici le 3e PChar c'est celui qui donne le dossier par défaut, ici le dossier de l'application pour que le fichier txt soit fait là


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-05-2003 à 15:16:24    

Oula, ça a pas l'air évident tout ça..
Je veux tester mais apparemment je dois
faire une importation pour que la commande
ShellExecute soit reconnus, mais je ne
trouve pas laquelle..  :??:

Reply

Marsh Posté le 07-05-2003 à 15:21:19    

Au fait, en essayant "dir c:\ > result.txt"
directement dans la commande DOS, je me suis
aperçu que tous les caractères "spéciaux"
(accents, tabulations..) ne s'affichaient
pas correctement dans le fichier texte !!
 
Comment y remédier ??

Reply

Marsh Posté le 07-05-2003 à 15:50:16    

antp -->  :??:  :??:    :ange:

Reply

Marsh Posté le 07-05-2003 à 16:25:18    

pour ShellExecute c'est dans la unit ShellAPI (à rajouter dans les uses), comme la majorité des fonctions de l'API Windows.
Pour les caractères, bah oui y a une différence entre DOS/Windows [:spamafote]
 
Si c'est pour faire une liste de fichiers, oublie le dir ; et fais ça proprement comme les vrais programmeurs avec FindFirst/FindNext/FindClose :p (y a une exemple dans l'aide je pense)


Message édité par antp le 07-05-2003 à 16:26:03

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-05-2003 à 17:29:56    

Ben là il me met encore une erreur,
mais à cause de SW_SHOWNORMAL .....
 
--> Identificateur non déclaré..
 
Bon, j'ai mis un entier (0) à la place
et ça fonctionne bien, merci!
 
Sinon, pout ta proposition avec les Find,
je sais, mais je voulais tester ça.
En fait, je pense que je vais faire un topic
"suivi" avec mon projet afin de vous expliquer
un peu les démarches que je dois faire et les
différentes possibilités, afin que l'on voit
ensemble, si vous le voulez bien  :ange: ,
ma meilleure façon de réaliser ces différentes
étapes.
C'est assez intéressant comme sujet et je pense
que ça pourrait également intéressant du monde ici.
 
Alors si vous n'y voyez pas d'inconvénients,
j'essairai de vous expliquer ça demain
si je trouve le temps..  :)  
 
Merci de votre aide  :jap:  :jap:  :jap:

Reply

Marsh Posté le 07-05-2003 à 17:44:02    

pour SW_SHOWNORMAL c'est dans la unit Windows je crois ;)
tu as aussi SW_SHOWMINIMIZED pour que la fenêtre s'ouvre réduite par ex


Message édité par antp le 07-05-2003 à 17:44:39

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed