Fonction Shell en BASIC
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Fonction Shell en BASIC



  1. #1
    Rendar

    Fonction Shell en BASIC


    ------

    Bonjour,
    J'aimerai appeler un script à partir de mon programme en Basic (je suis sous visual basic 2010).
    Mon souci est le suivant:
    " Shell ( " c:\ doc and set\etc\montexte.txt")"
    quand j'execute cette commande il me dit qu'il ne trouve pas mon fichier, pourtant j'ai juste copier coller son adresse donc niveau adresse ça devrait être bon ( sauf le montexte.txt que j'ai rajouté moi même). J'ai fait des recherches sur internet et normalement j'ai fait comme c'est indiqué.
    Ensuite ma deuxième question c'est, comment utilise-t-on la fonction wait avec shell ?(cette fonction permet d'attendre que le programme executé par shell soit finit).
    Ils ne montrent pas vraiment d'exemple dessus, juste qu'on peut marquer wait XD.
    Merci d'avance pour vos réponses

    -----

  2. #2
    Dormeur74

    Re : Fonction Shell en BASIC

    Le shell a toujours été fait pour lancer un exécutable.

    Je pense qu'il faudrait commencer par déclarer "notepad.exe" dans ta commande suivi du nom du fichier, en adresse absolue ou relative si le fichier à lire n'est pas dans le même dossier.

    Ne pas oublier que l'utilisateur peur installer ton soft là où il veut (App.path)

  3. #3
    bzh_nicolas

    Re : Fonction Shell en BASIC

    La doc est là pour ça aussi...

    Attention aux espaces dans les chemins de fichiers, ici tu dois faire :
    Code:
    Shell ( """ c:\ doc and set\etc\montexte.txt """)
    Pour encadrer ton chemin de guillemet.
    Je ne suis pas sûr que shell soit capable de lancer directement le programme associé à un type de fichier, si ce n'est pas le cas, il faut lancer notepad et lui passer le fichier texte en paramètre comme l'a dit Dormeur74. En oubliant pas les guillemets s'il y a des espaces dans le chemin du fichier.

    wait est un paramètre à passer lors de l'appel de la fonction shell.

  4. #4
    Dormeur74

    Re : Fonction Shell en BASIC

    Je ne suis pas sûr que shell soit capable de lancer directement le programme associé à un type de fichier
    Il fonctionnera toujours :
    - sous Windows
    - et si l'association "extension-programme" a été faite

    Dans les autres cas de figure, la daube est assurée.
    Donc très mauvais plan que de travailler directement sur une extension. Au fait, ".dat" c'est quel programme ?

  5. A voir en vidéo sur Futura
  6. #5
    bzh_nicolas

    Re : Fonction Shell en BASIC

    Citation Envoyé par Dormeur74 Voir le message
    Au fait, ".dat" c'est quel programme ?
    Tout et n'importe quoi...
    C'est assez souvent des fichiers de base de données (mais pas toujours, parfois il s'agit de simples fichiers textes). Mais plusieurs applications utilise cette extension et les formats sont différents.

  7. #6
    Dormeur74

    Re : Fonction Shell en BASIC

    CQFD. C'est la raison pour laquelle il ne faut jamais se fier à une extension

  8. #7
    Rendar

    Re : Fonction Shell en BASIC

    J'ai reussit à faire marcher la focntion shell (en faite il a besoin de l'executable avant et ensuite on rajoute l'adresse du fichier)
    J'ai trouvé un bonne exemple ici:

    http://www.infos-du-net.com/forum/23...ouvrir-fichier

    Par contre pour la fonction wait, est-ce quelqu'un aurait un exemple à montrer s'il vous plait ?

  9. #8
    Rendar

    Re : Fonction Shell en BASIC

    utiliser shell pour notepad c'est assez facile XD.
    mais quand je veux changer de type de fichier c'est autre chose
    Mais pouvez-vous me dire ce qui ne va pas avec mon bout de code svp

    Code:
     Private Sub appelscript()
            Msgbox("on va tester si shell marche")
    
            Shell("C\WinTask\Bin\TaskExec.exe C:\WinTask\Scripts\executiondeviddef.rob")
    
            Msgbox("ça marche bravo!!")
    
        End Sub

  10. #9
    Dormeur74

    Re : Fonction Shell en BASIC

    "C\WinTask\
    Avec c:\wintask.... tu es déjà mieux.

  11. #10
    Rendar

    Re : Fonction Shell en BASIC

    En faite c'était même pas ça le probleme de shell, parce que j'ai fait comme avec notepad où j'ai copier coller l'adresse comme il était indiqué,le problème venait de shell lui-même, on m'a déconseillé de l'utiliser et d'écrire à la place :
    Code:
    Process.start("adresse de l'application")
    Au final ça marche (même si je cherche encore comment faire pour que le programme VB attende que l'application se termine pour continuer .
    Merci à tous pour votre aide.

  12. #11
    Dormeur74

    Re : Fonction Shell en BASIC

    Tu veux traiter quel fichier et avec quel exécutable ?
    On verra après pour la synchro. Ne nous mets pas un code de mémoire, mais un vrai copier-coller qui marche.

  13. #12
    Rendar

    Re : Fonction Shell en BASIC

    Bonjour à tous,
    pour le code c'est tout simple
    il suffit d'appeler un script crée sous wintask.
    donc le code est:
    Code:
     Private Sub appelscript()
    
            MsgBox("on va tester si Process.start marche")
    
            Process.Start("C:\Program Files\WinTask\Scripts\executiondeviddef.rob")
    
    
        End Sub
    Donc au final il marche parfaitement, mais ce que je cherche maintenant c'est le code qui permettra à ma private sub d'attendre la fin du script et de detecter s'il bug (alors je sais pas si la fonction Try End Try marcherait pour ce cas).

Discussions similaires

  1. transfert GW basic vers basic ou visuel basic
    Par jean593 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 21/05/2010, 11h08
  2. Basic ? Visual Basic ?
    Par invite1e5c24bd dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 16/10/2006, 13h15
  3. fonction litteral dun schema basic
    Par invite11d6b3b0 dans le forum Électronique
    Réponses: 6
    Dernier message: 17/01/2006, 23h05
  4. shell.dll
    Par eklipse dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 05/01/2005, 23h04
  5. shell ksh
    Par invitefb4c4860 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 24/03/2004, 09h57