Commande exec - Delphi/Pascal - Programmation
Marsh Posté le 25-09-2003 à 08:31:46
pas la peine de upper : consulte ta documentation
je sais pas ce qu'il est est en pascal, mais j'aurais eu tendance d'échapper le \ -> \\ dans n'importe quel langage
Marsh Posté le 25-09-2003 à 13:59:34
Désolé mais quand je me retrouve en deuxième page j'ai tendance à upper.
Sinon j'avais déjà consulté l'aide de TP sur exec(3 lignes) mais ça ne donne rien.
Le \\ ne fait pas de miracle non plus malheureusement.
Marsh Posté le 26-09-2003 à 17:38:55
Taz a écrit : pas la peine de upper : consulte ta documentation |
non en pascal pas la peine de doubler le \
sinon "exec" g connait pas, d'habitude pour lancer un prog j'utilise ShellApi
Marsh Posté le 26-09-2003 à 23:26:12
Taz a écrit : |
En Pascal y a pas de caractère d'échappement
On met les caractèrs spéciaux hors des chaînes, genre 'ligne1'#13#10'ligne2'
ça a des avantages et des inconvénients
Marsh Posté le 26-09-2003 à 23:27:16
skelter a écrit : |
plutôt ShellExecute tu veux dire ShellAPI étant le nom de la unit contenant cette fonction.
Mais s'il utilise Turbo Pascal, ça veut dire qu'il utilise un compilateur DOS, ça va pas être évident pour accéder aux API Windows
Marsh Posté le 26-09-2003 à 23:43:39
si tu lances un exe, ca devrait marcher tel quel
par contre si tu lances des commandes dos ou un batch (.cmd, .bat) il faut que lances command.com avec en params le batch/la commande a executer
si mes souvenirs sont bons, ca devrait etre qqchose comme ca:
exec(getenv('COMSPEC'),' /C C:\monbatch.bat); |
au pire, essaye de lancer ton .exe comme un batch , en faisant
exec(getenv('COMSPEC'),' /C C:\monprog.exe); |
ou
exec(getenv('COMSPEC'),' /C start C:\monprog.exe); |
tu peux aussi essayer d'afficher le resultat de la fonction doserror() apres l'appel a exec(), ca te dira au moins si ca s'est bien passé ou pas... (Cf l'aide de TP pour les codes)
Marsh Posté le 27-09-2003 à 02:17:34
J'essairai ça ce soir et je vous dirait si ça marche.
Parce que là dodo.
Marsh Posté le 27-09-2003 à 10:00:09
antp a écrit : |
alors occupe toi des tes boolays au lieu de les laisser upper 4x par jour
Marsh Posté le 28-09-2003 à 18:05:03
Désolé mais ça ne fait rien.
Tant pis je continue à chercher.
Merci quand même.
Sauf pour taz le pitbull
Marsh Posté le 29-09-2003 à 06:33:14
Bon ça avance.
J'ai creé un autre prog pour tester le exec séparément.
Ceci fonctionne:
|
Par contre si je l'intègre dans mon prog principal le {$m 8192,0,0} pose problème car TP me dit alors que graph n'est pas initialisé.
Mais si je l'enlève bah le graph passe mais plus le exec.
Qqun aurait il une idée ?
Ps: si c'est juste pour me traiter de boulay inutile de poster.
Marsh Posté le 24-09-2003 à 14:08:07
Salut.
Voilà, je me suis fait un menu graphique en turbo pascal pour lancer des applications DOS(ghost,etc...).
La partie graphique fonctionne à part qques petits détails.
Mais pas moyen de faire fonctionner exec.
Je fait ceci: exec(tabch[1],'');
** tabch[1] contient par exemple x:\ghost.exe
La commande exec est liée à la touche enter mais de ce coté là pas de prob j'ai vérifié.
Si qqun a une soluce.
ps: sur conseils zavisés d'un autre forum j'ai testé la bidouille {$m 4096,0,0} mais rien.
Merci d'avance.