Forum Liberty Basic France

Général » Question sur "Run" Attendre la fin du"Run" avant de continuer...
Le 23/11/2017 à 16h25

Libertynaute Débutant

Groupe: Membre

Inscrit le: 22/09/2015
Messages: 10
Bonjour !

Quand on emploie une instruction "Run", est-il possible d'attendre que le programme qui tourne sous "Run" soit fermé avant que le programme LB ne continue ?

Par exemple :
run "command.com /k "+DefaultDir$+"\sort1.bat",MINIMIZE
J'ai absolument besoin que le tri (sort1.bat) soit terminé avant de continuer le programme LB.

J'ai essayé avec
run "command.com /k "+DefaultDir$+"\sort1.bat",MINIMIZE
call pause 1000 ' (ou plus si nécessaire)
mais "pause" s'exécute évidemment pendant "sort1.bat", et ça le ralentit fortement... Ca ne résoud rien.

Donc j'ai fait ceci :
run "command.com /k "+DefaultDir$+"\sort1.bat",MINIMIZE
notice "Done !"
... et j'attends un peu avant de cliquer sur "Done" :-))

Mais ça n'est pas très élégant... Je ne vois pas de paramètre adéquat pour "Run". Peut-être aller voir dans #user32.dll ou ailleurs pour savoir quels sont les programmes actifs à un moment donné, mais là je suis dépassé...

Avez-vous résolu ce problème ?

Merci et bonne après-midi.

1180michel

   
Le 23/11/2017 à 17h14

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1961
Ce que tu veux faire n'est pas évident, il faudrait que le bat renvoie une info en fin de parcours.
Si tu peux écrire dans un fichier depuis le bat; tu peux interroger périodiquement le fichier (ouvrir-interroger-fermer-pause-réouvrir...ext) (ou sans pause puisque le bat tourne à part) et quand l'info est présente c'est que le tri est fini.
Je ne vois pas trop comment faire autrement
Tu peux poser la question chez les anglophones il y en a de très forts.
http://justbasic.conforums.com/index.cgi

http://libertybasic.conforums.com/index.cgi
____________________
Roro

   
Le 24/11/2017 à 11h31

Libertynaute Débutant

Groupe: Membre

Inscrit le: 22/09/2015
Messages: 10
OK, merci je vais aller voir chez les angliches...

J'avais essayé le coup du fichier écrit/lu simultanément par les deux programmes, mais ça ne semblait pas (bien) marcher... En tous cas, j'ai abandonné.

Bonne journée, je vous tiens au courant si j'ai un tuyau !

   
Le 24/11/2017 à 17h41

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1961
Pour le fichier, je l'ai essayé et ça marche sous deux conditions:
- Il faut mettre des pauses entre les fermeture--ouvertures en lecture (pour laisser le temps au .bat d'ouvrir d'écrire et de refermer).
- Il faut faire l'écriture en boucle pour provoquer une coincidence "pause lecture-écriture".
Se pose le problème d'arrêter la boucle d'écriture qui peut être faite pendant un temps donné
supérieur au temps "lecture + pause".
____________________
Roro

   
Général » Question sur "Run" Attendre la fin du"Run" avant de continuer...  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie