IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Récupérer un résultat de script VBS dans Delphi


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 51
    Points : 42
    Points
    42
    Par défaut Récupérer un résultat de script VBS dans Delphi
    bonjour

    Comme le dit mon titre, je lance depuis Delphi un script VBS qui interroge un logiciel, et j'ai besoin de récupérer le résultat obtenu par ce script dans mon appli Delphi.

    J'ai déjà vu quelques trucs ce le net, du genre ActiveScript (qui va pas du tout me servir j'ai l'impression) et smsScript (que je n'arrive même pas à installer & exploiter).

    Si vous avez une piste, je suis tout ouïe.

    merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    Si ton VBS écrit dans la console, tu peux le récupérer avec les Pipe comme la fonction CallCmd

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 51
    Points : 42
    Points
    42
    Par défaut
    Non j'appelle un fichier externe toto.vbs depuis mon appli Delphi.

    Dans le principe, c'est p-e faisable étant donné que j'ai besoin de quelques commandes simples. C'est à tester mais j'aimerais bien avoir une autre solution sous le coude.

    Merci ShaiLeTroll en tout cas

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    Non j'appelle un fichier externe toto.vbs depuis mon appli Delphi
    Je ne vois pas le rapport entre ta réponse et ma question "VBS écrit dans la console"

    Ton VBS tu lance via un ShellExecute ?
    Si oui remplace ShellExecute par CallCmd sur CScript.exe qui prend en paramètre ton VBS, et utilise WScript.Echo pour écrire dans les pipes
    A savoir que ShellExecute utilise Wscript.exe pour executer ton VBS

    Sinon un VBS peut manipuler des fichiers, tu peux au pire utiliser un fichier pour gérer ton interop

    Encore mieux, c'est ce que j'utilise, un VBS peut via CreateObject instancié des Objets COM (en respectant le safecall et les types automations)
    Tu peux donc créer un objet Delphi qui envoi des données par TCP\IP, par Mémoire Partagée, ... à ton application principale !
    Le VBS n'aurait qu'a appeler la méthode d'envoie de message exportée par ton Objet COM.

    tu peux aussi utilisé RegisterActiveObject, je suppose que GetObject doit pouvoir te renvoyer la référence !
    Je n'ai utilisé RegisterActiveObject en Delphi que couplé avec com_get_active_object du PHP, cela fonctionnait très bien, mon script PHP pouvait lancé des fonctions contenus dans l'ActiveX partagé avec mon Exe Delphi !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 51
    Points : 42
    Points
    42
    Par défaut
    ah ok, j'ai du mal comprendre ta première réponse!
    MErci pour les précisions, je vais approfondir cette piste.

  6. #6
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    le plus efficace reste l'exploitation du moteur de script à partir du code delphi directement
    soit au travers du ms script control : un exemple ici
    soit plus virilement comme le propose Serhiy Perevoznyk avec sa biblio psvActiveScript
    en attaquant directement les interfaces du moteur choisi (vbs/js) ou tout autre langage compatible active scripting

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 51
    Points : 42
    Points
    42
    Par défaut
    Pour ceux que ça intéressera dans le futur, j'ai finalement réussi mon affaire avec le code SCRIPTRR de Monsieur Sing Wong qui se trouve ici :
    http://www.torry.net/samples/samples/soft/scriptrr.zip

    Il permet de récupérer le résultat de fonctions VBS dans une variable de notre projet Delphi. Un peu de bidouille est nécessaire pour adapter à sa sauce mais ca fait partie de notre job ça!

Discussions similaires

  1. Récupérer le résultat d'une PS dans une table temporaire ?
    Par maitrebn dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/02/2006, 09h24
  2. Réponses: 3
    Dernier message: 01/02/2006, 23h17
  3. [VBS] appel d'un script VBS dans un autre script VBS???
    Par Amandine62 dans le forum VBScript
    Réponses: 9
    Dernier message: 31/01/2006, 18h17
  4. Réponses: 2
    Dernier message: 19/07/2005, 14h14
  5. Réponses: 7
    Dernier message: 30/06/2005, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo