Function passage d'arguments

Le
msnews.microsoft.com
Bonjour,

Quelqu'un pourrait il me dire quel est le type des arguments de la FUNCTION
ci dessous :

Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie As
String)


Plus précisément quel est le type des 3 1er arguments ? mon "As String"
concerne t-il juste le dernier ? ou tous les arguments ? et s'il concerne
quue le dernier, quel est le type des 3 autres ?

Avec tous mes remerciements.

Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #18164391
Bonjour,

Je crois que ce n'est que le dernier qui est string, les autres variant,
car dans l'exemple VB, ça donne :

MyFunc(MyStr As String, MyArg1 As Integer

Donc, a priori il faut typer chaque élément entre virgule, ou sinon = défaut
?

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"msnews.microsoft.com" %
| Bonjour,
|
| Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION
| ci dessous :
|
| Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie As
| String)
|
|
| Plus précisément quel est le type des 3 1er arguments ? mon "As String"
| concerne t-il juste le dernier ? ou tous les arguments ? et s'il concerne
| quue le dernier, quel est le type des 3 autres ?
|
| Avec tous mes remerciements.
|
| Michel
|
|
msnews.microsoft.com
Le #18164591
Je vais essayer comme ça...

Je te remercie... et bonne fin d'année !

Michel

"LE TROLL" OXSW$
Bonjour,

Je crois que ce n'est que le dernier qui est string, les autres
variant,
car dans l'exemple VB, ça donne :

MyFunc(MyStr As String, MyArg1 As Integer

Donc, a priori il faut typer chaque élément entre virgule, ou sinon =
défaut
?

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"msnews.microsoft.com" news:
%
| Bonjour,
|
| Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION
| ci dessous :
|
| Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie As
| String)
|
|
| Plus précisément quel est le type des 3 1er arguments ? mon "As String"
| concerne t-il juste le dernier ? ou tous les arguments ? et s'il
concerne
| quue le dernier, quel est le type des 3 autres ?
|
| Avec tous mes remerciements.
|
| Michel
|
|




PH
Le #18164581
Un argument non typé est typé par défaut comme variant.
Le typage ne concerne que la variable précédant le as.

msnews.microsoft.com a écrit :
Je vais essayer comme ça...

Je te remercie... et bonne fin d'année !

Michel

"LE TROLL" OXSW$
Bonjour,

Je crois que ce n'est que le dernier qui est string, les autres
variant,
car dans l'exemple VB, ça donne :

MyFunc(MyStr As String, MyArg1 As Integer

Donc, a priori il faut typer chaque élément entre virgule, ou sinon =
défaut
?

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"msnews.microsoft.com" news:
%
| Bonjour,
|
| Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION
| ci dessous :
|
| Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie As
| String)
|
|
| Plus précisément quel est le type des 3 1er arguments ? mon "As String"
| concerne t-il juste le dernier ? ou tous les arguments ? et s'il
concerne
| quue le dernier, quel est le type des 3 autres ?
|
| Avec tous mes remerciements.
|
| Michel
|
|








msnews.microsoft.com
Le #18164781
Merci PH

Cordialement,

MJ

"PH" %
Un argument non typé est typé par défaut comme variant.
Le typage ne concerne que la variable précédant le as.

msnews.microsoft.com a écrit :
Je vais essayer comme ça...

Je te remercie... et bonne fin d'année !

Michel

"LE TROLL" OXSW$
Bonjour,

Je crois que ce n'est que le dernier qui est string, les autres
variant,
car dans l'exemple VB, ça donne :

MyFunc(MyStr As String, MyArg1 As Integer

Donc, a priori il faut typer chaque élément entre virgule, ou sinon =
défaut
?

------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"msnews.microsoft.com" news:
%
| Bonjour,
|
| Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION
| ci dessous :
|
| Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie
As
| String)
|
|
| Plus précisément quel est le type des 3 1er arguments ? mon "As
String"
| concerne t-il juste le dernier ? ou tous les arguments ? et s'il
concerne
| quue le dernier, quel est le type des 3 autres ?
|
| Avec tous mes remerciements.
|
| Michel
|
|









Jean-marc
Le #18164961
msnews.microsoft.com wrote:
Bonjour,



Hello,

Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION ci dessous :

Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie
As String)


Plus précisément quel est le type des 3 1er arguments ? mon "As
String" concerne t-il juste le dernier ? ou tous les arguments ? et
s'il concerne quue le dernier, quel est le type des 3 autres ?



Comme il a déjà été dit, les 3 premiers sont en effet des Variant
et le dernier uniquement un String.

Je voudrais ajouter 2 ou 3 choses:
- Il est recommandé de typer explicitement tous les arguments, pour
différentes raisons (lisibilité, portage, performances et surtout pour
se prémunir de tous les bugs potentiels générés par l'emploi du type
Variant)
- Il est également recommandé de spécifier explicitement le type
de passage Byval ou Byref, pour le même genre de raisons.

Je t'invite à consulter la FAQ:

Quelle est la différence entre les mots-clés "ByVal" et "ByRef" ?
http://faq.vb.free.fr/index.php?question#

Comment définir un ou des arguments optionnels lors de l'appel d'une
fonction ?
http://faq.vb.free.fr/index.php?question 3

Comment et pourquoi faut-il déclarer les variables d'un programme ?
http://faq.vb.free.fr/index.php?question0

Aide en ligne de Sub et Function :
http://msdn.microsoft.com/en-us/library/aa266305(VS.60).aspx

Note: ta fonction devrait aussi spécifier le type de son retour.
Si elle ne retourne rien, alors il faut en faire une Sub.
Sinon, expliciter son type, par exemple un Type Booléen, la
fonction retournant True en cas de succès et False en cas d'échec.

Même si elle ne retourne pas directement un résultat, retourner
explicitement une valeur est toujours recommandé.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
PH
Le #18166061
Jean-marc a écrit :
msnews.microsoft.com wrote:
Bonjour,



Hello,

Quelqu'un pourrait il me dire quel est le type des arguments de la
FUNCTION ci dessous :

Function MaFonction(RepEntree, FichierEntree, RepWork, FichierSortie
As String)


Plus précisément quel est le type des 3 1er arguments ? mon "As
String" concerne t-il juste le dernier ? ou tous les arguments ? et
s'il concerne quue le dernier, quel est le type des 3 autres ?







Note: ta fonction devrait aussi spécifier le type de son retour.
Si elle ne retourne rien, alors il faut en faire une Sub.
Sinon, expliciter son type, par exemple un Type Booléen, la
fonction retournant True en cas de succès et False en cas d'échec.

Même si elle ne retourne pas directement un résultat, retourner
explicitement une valeur est toujours recommandé.

Cordialement,



Il s'agit d'une fonction donc elle retourne un résultat, qu'il soit
utilisé ou non. Le type du résultat n'étant pas précisé c'est un variant
et si au retour on l'utilise il y aura presque certainement transtypage.
Cela n'enlève rien aux remarques de Jean-Marc qui sont des remarques de
bon sens.

L'intérêt des fonctions est faire des traitements en cascade :
par exemple MaFonction renvoie un nom de fichier avec un caractère nul
(chr$(0)) suivi plusieurs espace

On pourra simplement écrire

NomDuFichier=Trim(Replace(Mafonction(RepEntree, FichierEntree, RepWork,
FichierSortie),chr$(0)," "))

qui renverra le nom du fichier sans le caractère nul ni les espaces
(devant ou derrière d'ailleurs)

Cet exemple n'est pas tout à fait anodin puisqu'il s'agit du traitement
d'un des résultats de l'API GetOpenFileName qui permet d'ouvrir un
fichier avec une boîte de dialogue.
Publicité
Poster une réponse
Anonyme