Lancer une commande de console windows : cWDDos devient PRJ_CLA_Console.
Initié par DrCharly93 pour WDForge.org, il a été successivement amélioré par :
De retour sur WDForge, PRJ_CLA_Console est proposé en WinDev 20 et ses nouveautés :
WinDev 14 a vu arrivé un nouveau type de variable : procédure
Outre la foncitonnalité du projet, nous illustrons avec cette évolution l'usage du type "procédure" en programmation orientée objet.Il est donc possible de créer un membre de type procédure à une classe.
Si le membre n'est pas affecté, il prend la valeur null. Sinon, il se transforme en un pointeur vers la procédure.
Nous appelons cette possibilité l'abonnement de procédure.
Si le membre est renseigné, on peut appeler depuis une méthode de la classe, une procédure fournie... et donc hors de portée.
Il devient alors possible de "personnaliser" des comportements d'objets selon leur environnement.
Dans le cas de CLA_Console, on personnalise la valeur de retour de la commande ainsi que la terminaison (erreur ou pas) de la commande :
// Déclaration de CLA_Console
mproc_Reception est une Procédure
mproc_FinCmd est une Procédure
// Affectation des procédures abonnées. Si nécessaire on prend référence sur une procédure qui n'est pas dans la classe... qui pourra être lancée le cas échéant.
PROCEDURE Constructeur(lproc_Reception est une Procédure = Null, lproc_FinCmd est une Procédure = Null)
SI lproc_Reception<>Null ALORS :mproc_Reception = lproc_Reception
SI lproc_FinCmd<>Null ALORS :mproc_FinCmd = lproc_FinCmd
// Exécute la procédure de terminaison de la ligne de commande (procédure abonnée)
PROCEDURE ExécuterCmd()
//... Fin de méthode, après avoir récupéré le code de sortie de la commande
SI :mproc_FinCmd<>Null ALORS :mproc_FinCmd()
Atelier de Génie Logiciel