OVH Cloud OVH Cloud

couleur comme argument de fonction

14 réponses
Avatar
Pas de Spam
bonjour,

j'aimerais passer une couleur dans un fonction comme argument (optionnel ou
pas)
----------
exemple

Public Sub testfonc(ByVal coul As ...,Optional ByVal coul2 As Color =
Color.Black)
....
end sub

pour appeler
testfonc (color.red) ou testfonc (color.black,color.yellow)
----------


enfin bref j'ai essayer plein de chose a la place de color mais rien ne
passe...

comment faire !!! je désespère

4 réponses

1 2
Avatar
Xharkin
Pas de Spam :

bon merci pour les reponses precedente mais ca ne me convient
pas



Avez-vous essayé de passer par le biais du nom des couleurs ?

Par exemple (enfin si j'ai bien compris) :

Imports Couleur = System.Drawing.Color
..
Sub Appellante()
Test("Blue","Red")
' ou bien si vous récupérez les couleurs
' à partir d'une propriété
Test(Label1.BackColor.ToKnownColor.ToString, _
Label2.BackColor.ToKnownColor.ToString)
End Sub

Sub Test(ByVal ParaCoul1 As String, _
Optional ByVal ParaCoul2 As String = "")

'Détermine la couleur à traiter
Dim CoulTrait As New Couleur
If ParaCoul2 <> "" Then
CoulTrait=Couleur.FromName(ParaCoul2)
Else
CoulTrait=Couleur.FromName(ParaCoul1)
End If

' Suite de la procédure

' Itération de l'appel pour la première couleur
If ParaCoul2 <> "" Then
Test(ParaCoul1)
End If

End Sub
Avatar
Pas de Spam
merci je ne connaissais pas ce system

mais sur le papier ça a l'air de répondre a mes exigence
je vais donc essayer et vous tiendrais au courant
en tous les cas merci beaucoup Xharkin pour cette aide précieuse.

Fabrice.


"Xharkin" a écrit dans le message de news:
Pas de Spam :

bon merci pour les reponses precedente mais ca ne me convient
pas



Avez-vous essayé de passer par le biais du nom des couleurs ?

Par exemple (enfin si j'ai bien compris) :

Imports Couleur = System.Drawing.Color
..
Sub Appellante()
Test("Blue","Red")
' ou bien si vous récupérez les couleurs
' à partir d'une propriété
Test(Label1.BackColor.ToKnownColor.ToString, _
Label2.BackColor.ToKnownColor.ToString)
End Sub

Sub Test(ByVal ParaCoul1 As String, _
Optional ByVal ParaCoul2 As String = "")

'Détermine la couleur à traiter
Dim CoulTrait As New Couleur
If ParaCoul2 <> "" Then
CoulTrait=Couleur.FromName(ParaCoul2)
Else
CoulTrait=Couleur.FromName(ParaCoul1)
End If

' Suite de la procédure

' Itération de l'appel pour la première couleur
If ParaCoul2 <> "" Then
Test(ParaCoul1)
End If

End Sub


Avatar
Ambassadeur Kosh
je crois que c'est une trés mauvaise idée. j'ai une fonction racine carrée
qui prend un double en entrée, mais je vais lui filer une string paske ça
m'embete moins avec le type.
serieux, tu passes une couleur ou tu n'en passe pas. ça fait deux protoypes,
l'un qui appelle l'autre avec la valeur par défaut.
laisse tomber les parametres optionels, et surtout pas de string.
Avatar
Xharkin
Ambassadeur Kosh :

je crois que c'est une trés mauvaise idée. j'ai une fonction
racine carrée qui prend un double en entrée, mais je vais lui
filer une string paske ça m'embete moins avec le type.
serieux, tu passes une couleur ou tu n'en passe pas. ça fait
deux protoypes, l'un qui appelle l'autre avec la valeur par
défaut. laisse tomber les parametres optionels, et surtout pas
de string.



C'est effectivement une très mauvaise idée. Mea culpa.
1 2