Fonctions en vb

arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014 - 22 nov. 2004 à 17:44
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 23 nov. 2004 à 10:04
Je suis développeur C, et je débute en VB.
Je n'arrive pas à me servir des fonctions,

Par exemple en visual c, j'ecrit ma fonction et son prototype
int fonction (type des parametres)
{
le code de la fonction
}

Dans le programme principal pour appeller ma fonction je fais :

fonction (parametre à passer);

Pouvez vous me dire comment ça marche avec Visual Basic ?

Merci infiniment

jca

9 réponses

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
22 nov. 2004 à 18:13
public/private function nomfonction(param1 as long,param2 as integer) as integer

nomfonction=12
end function
correspond en C a

int nomfonction(long param1,long param2){
return 12;
}

pour l'appeler:
var=nomfonction(param1,param2)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 nov. 2004 à 18:19
Salut,

Pas mieux, je rajouterai aussi

si tu veux utiliser les parentheses tout le temps et que tu ne retourne pas forcement qqch

Call NomFonction(p1, p2, ...)

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 nov. 2004 à 18:22
Salut arbomont
Tout est dans l'aide de VB (...)
-1- Déclaration d'une fonction :
La seule différence entre une Sub et un eFunction, c'est le "As Type" que l'on mets à la fin de la déclartation d'une fonction.
Private|Public Function MaFonction(ByVal|ByRef Param1 As Type [, ByVal|ByRef Param2 As Type]) As Type
Private|Public Sub MaSub(ByVal|ByRef Param1 As Type [, ByVal|ByRef Param2 As Type])

ou Type peut-être String, Integer, Long, ...

-2- Utilisation :
MaVar = MaFonction(MonParam1 [, MonParam2])
Call MaSub(MonParam1 [, MonParam2])

A noter que 'Call MaFonction(...)' fonctionnerait quand même, mais le résultat serait perdu.

-3- ByVal : le paramètre est passé comme valeur
ByRef : C'est la variable qui est passée (donc si elle est modifiée dans la Sub/Function, elle reviendra modifiée)

Je crois savoir qu'en C, les 'int' sont les 'Long' en VB
Integer de VB = 16 bits
Long de VB = 32 bits

Vala
Jack
NB : Je ne répondrai pas aux messages privés
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 nov. 2004 à 18:24
et regarde cette source pour les explications des ByVal ByRef
Vala
Jack
NB : Je ne répondrai pas aux messages privés
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014
22 nov. 2004 à 18:41
Merci beaucoup,
maintenant comment appeller une fonction qui est dans une autre form ?

jca
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 nov. 2004 à 19:00
Il te faut l'appeler avec le nom de la feuille, un peu comme les classes du C++ ou les structures du C :

Form.Fonction
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 nov. 2004 à 09:32
Salut,

N oublie pas de mettre Public ... pour pouvoir utiliser la fonction depuis un autre form.

Si une fonction est utiliser dans plusieur endroit Je te conseillerai tout de meme de mettre cette fonction dans un module.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 nov. 2004 à 09:51
Pas d'accord avec toi jrivet !!! Si la fonction est effectivement utiliser dans plusieurs endroit, la mettre dasn un module n'est aps forcement une bonne solution !! En effet, si cette fonction est en fait une méthode pour sa form, il doit la mettre dasn le module de la form !! Comme il est develloppeur C, il doit maitriser la POO !

Christophe R.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 nov. 2004 à 10:04
salut,

Oui effectivement vu de la sorte je ne peut que te donne raison Crenaud76, mais si la fonction n est pas pour la form, ma proposition n est pas non plus des plus mauvaises (enfin je crois...).

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
Rejoignez-nous