Argument et valeur de retour

Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Bonjour!

Etant encore "débutant" en VB, je me pose toujours des questions par rapport au C...

J'ai récupéré un petit programme permettant d'envoyer des mails automatiquement, mais j'aimerais paramarétres ceux-ci en passant une petite info au programme.
En d'autre mot, j'aimerais passer en argument un string.
exemples : "mail.exe info"

Aussi, est t'il possible de retourner un boolean, pour indiquer si le programme c'est bien terminer ou non.

Merci beacoup ! :)

Aurélien

10 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Si je comprends bien, tu as un programme "Mail.exe" et tu veux, à partir de la ligne de commande ou à partir d'un autre programme, passer un paramètre... C'est ça ?

Si oui, il te faudrait le code source du programme Mail.exe pour intercepter le paramètre en utilisant Command$

Pour la valeur Booléenne de retour, ça pourrait se passer avec un genre de fichier.log dans lequel tu inscris ce dont tu as besoin...

MPi
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Salut!

Oui excuse moi j'ai peut-etre pas était assez clair.

C'es donc bien ça, le programme mail.exe, j'ai bien le code, mais je connais pas Command$, ça renvoi tout ce qui a était ajouté après le nom de l'exécutable?

Pour la valeur de retour, rien de plus simple? :(
du style
int main (void)
{
    return 0;
}

Merci
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
tu peux utiliser le code présent là :
http://www.vbfrance.com/codes/SHELLANDWAIT-EXECUTER-APPLICATION-ATTENDRE-FIN-RENVOYER-SON-CODE_34867.aspx

et faire :

public function Mail ( Byref vsInfo as String ) as Boolean Mail (ExecCmd ("mail.exe", vsInfo) 0)
End Function

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Merci pour command$, j'arrive à récupérer ce que je voulais :)

Par contre pour la valeur de retour, je crois que la source que tu m'as donnée ne correspond pas, ce que je chercher c'est écrire un programme en VB qui renvoi 0 ou autre chose s'il y a eu un problème.
je voudrais pouvoir récupérer cette valeur en ligne de commande, enfin comme un programme classqiue quoi.
(comme "$?" sous Unix)

Merci :)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
1) Ici, personne n'est censé connaître Unix... et même ceux qui le connaissent se tairont !...On est sous VB et donc sous Windows !

2) interesse-toi à la fonction GetLastError de la librairie "kernel32" et à son utilisation éventuelle avec, notamment, l'emploi de la fonction ShellExecuteEx de la librairie Shell32.dll ...

Si tout celà t'intéresse vraiment, tu ne devrais avoir aucune difficulté à mettre ton code en oeuvre dans ce sens...
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Désolé d'avoir prononcer le mot Unix...

Cependant, désolé, mais je crois que personne ne m'a compris :(:(

J'aimerais que mon programme VB retourne un boolean pour dire s'il s'est bien terminer ou pas.
Comme une fonction qui retourne quelque chose, ben la je voudrais que mon programme.exe renvoi 0 ou 1 par exemple.
Est-ce que c'est possible svp

Merci :)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Ton programme s'est bien terminé si, à la fois :

1) il ne te dénonce pas d'erreur en chemin (voir plus haut)
2) il est arrivé à son terme, et pour celà :
  - soit tu sais ce qu'il doit  faire : et tu vas voir s'il l'a fait
  - soit tu ne le sais pas avec précision et du vérifie périodiquement que son processus n'est plus dans la liste des processus en cours
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Je t'ai indiqué un code qui te permet de faire cela....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
En effet, Renfield
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Renfiel, tu m'as envoyer un code pour récupérer l'état d'un processus en VB.
Le soucis est que mon programme, écrit en VB, sera appelé en C par la fonction system().