Fonction avec choix de réponse en parametres.

Résolu
Nos535 Messages postés 5 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 5 septembre 2007 - 24 oct. 2005 à 02:02
Nos535 Messages postés 5 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 5 septembre 2007 - 26 oct. 2005 à 00:24
Bonjour, j'aimerais faire une fonction comme celle d'un MsgBox, je m'explique.

Exemple dans le MsgBox, nous donnons le titre que nous voulons et le deuxième paramètre que nous devons passer est basé sur un choix de réponse : MsgBoxStyle.AbortRetryIgnore, MsgBoxStyle.ApplicationModal et etc..

Quelqu'un à une idée comment créer une fonction avec un choix de réponse comme le MsgBox ??

Merci

9 réponses

bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 oct. 2005 à 08:11
Je ne suis pas sur que c'est ce que Nos535 attendait. Il souhaite un certain nombre de réponses types.

Esai de mettre ça dans une feuille

Option Explicit


Public Enum ReponseType
Reponse1 = 0
Reponse2 = 1
End Enum


Public Function MaFonction(ByVal MonParam As Integer) As ReponseType
If MonParam > 5 Then
MaFonction = Reponse1
Else
MaFonction = Reponse2
End If
End Function


Private Sub Form_Load()
Dim Reponse As ReponseType
Reponse = MaFonction(2)
Debug.Print Reponse
End Sub

Bonne prog
++
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 oct. 2005 à 02:50
salut,

tu déclares ta fonction avec ses paramètres et ce quelle doit retourner...

[VB6]


Option Explicit
'
'
Private Sub Form_Load()
Dim MaString As String
MaString = MaFonction("Bonjour", 14, 5)
Debug.Print MaString
End Sub
'
'
Private Function MaFonction(sChaine As String, iNum1 As Integer, iNum2 As Integer) As String
'ta fonction te renvoie la concaténation de la chaîne
'avec le 1er nombre*2 et le 2ème puissance 5
MaFonction = sChaine & CStr(iNum1 * 2) & CStr(iNum2 ^ 5)
End Function


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


MaString va te retourner Bonjour283125

++
PCPT [AFCK]
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 oct. 2005 à 08:13
PS : Attention à Enum : les 'réponses' doivent être déclarées par ordre alphabétique et numérotées dans un ordre croissant.

Bonne prog
++
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 oct. 2005 à 13:41
Bouv -> salut, ordre alphabétique pour des raisons de lisibilité, mais croissant, pas du tout...

avec Reponse1 2 3 4 (donc 0 1 2 3), tu eux par exemple mettre

Public Enum ReponseType
Reponse1 = 0
Reponse2
Reponse3
Reponse4
End Enum

mais tu peux également mettre des valeurs qui ont un sens (pour toi) mais qui ne se suivent pas.
exemple, un Enum de constantes, bien plus pratique parfois...

Public Enum ReponseType
Reponse1 = &H0
Reponse2 = &H8
Reponse3 = 31
Reponse4 = Reponse1 Or Reponse3
End Enum

+
PCPT [AFCK]
0

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

Posez votre question
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 oct. 2005 à 13:42
Reponse4 = Reponse2 Or Reponse3
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 oct. 2005 à 15:24
Ouai c'est vrai. En fait j'ai répondu un peu vite et j'ai pas trop voulu compliqué.

Par contre

Reponse4 = Reponse1 Or Reponse3

Je connaissais pas Je vais faire un test pour voir comment ça fonctionne.

Bonne prog
++
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 oct. 2005 à 15:40
Reponse4 = Reponse 2 Or Reponse3



Reponse2 = &H8
Reponse3 = 31


reponse2 = 0000 1000
reponse3 = 0001 1111


0 Or 1 -> 1
1 Or 1 -> 1


Reponse4 = 0001 1111 -> 31 -> &H1F

++
PCPT [AFCK]
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 oct. 2005 à 00:45
OK merci pour l'explication

Bonne prog
++
0
Nos535 Messages postés 5 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 5 septembre 2007
26 oct. 2005 à 00:24
Merci Bouv !

C'était exactement ce que je cherchais.
0
Rejoignez-nous