Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut PR !
dans VB6 la touche '+' faisait apparaitre ce tableau apparemment pas dans vb.net Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations ?
Il ne faut pas confondre *combiner* et *additionner* des membres d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la différence fondamentale existante entre les deux opérations : http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
-- Cordialement Yanick MVP pour Visual Basic
"PR" a écrit dans le message de news:
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre de type enum
le tableau des constantes énumérées apparait lors de la frappe de la virgule puis de 'and' puis espace ou 'or' puis espace
merci
PR
Salut PR !
dans VB6 la touche '+' faisait apparaitre ce tableau
apparemment pas dans vb.net
Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait
jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations ?
Il ne faut pas confondre *combiner* et *additionner* des membres
d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de
type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la
différence fondamentale existante entre les deux opérations :
http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
--
Cordialement
Yanick
MVP pour Visual Basic
"PR" <pr314159@bamboo.lu> a écrit dans le message de news:
eP9SoE53FHA.3160@TK2MSFTNGP10.phx.gbl...
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre
de type enum
le tableau des constantes énumérées apparait
lors de la frappe de la virgule puis de 'and' puis espace
ou 'or' puis espace
dans VB6 la touche '+' faisait apparaitre ce tableau apparemment pas dans vb.net Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations ?
Il ne faut pas confondre *combiner* et *additionner* des membres d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la différence fondamentale existante entre les deux opérations : http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
-- Cordialement Yanick MVP pour Visual Basic
"PR" a écrit dans le message de news:
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre de type enum
le tableau des constantes énumérées apparait lors de la frappe de la virgule puis de 'and' puis espace ou 'or' puis espace
merci
PR
PR
je vous remercie de votre réponse. mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes. Il me suffira de remplacer le and par + mais a la main. 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
encore merci de votre reponse. PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:
Salut PR !
dans VB6 la touche '+' faisait apparaitre ce tableau apparemment pas dans vb.net Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations ?
Il ne faut pas confondre *combiner* et *additionner* des membres d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la différence fondamentale existante entre les deux opérations : http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
-- Cordialement Yanick MVP pour Visual Basic
"PR" a écrit dans le message de news:
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre de type enum
le tableau des constantes énumérées apparait lors de la frappe de la virgule puis de 'and' puis espace ou 'or' puis espace
merci
PR
je vous remercie de votre réponse.
mais je ferai qqs remarques:
1/si vb6 le faisait ce ne devait pas etre aussi horrible
que ça.
D'autre part quel mal peut il y avoir à
additionner des constantes.
Il me suffira de remplacer le and par +
mais a la main.
2/N'étant pas pro de l'informatique je n'aime
pas trop les and et les or
et j'avais bricolé qqchose pour y remédier
dans cette occurrence:
la 1ère constante vaut 1 à 9
la 2ème vaut 10 à 90
la 3ème 100 a 900
etc...
ensuite je fais la somme (d'où ma question)
je transforme le long en string
et chaque caractère vaut de 1 à 9 (le 0 étant le defaut)
avec un long 32bits j'ai 9 variations de la meme
particularité de la voiture et non pas
2 (presence ou absence)
encore merci de votre reponse.
PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: uKY3hW83FHA.1276@TK2MSFTNGP09.phx.gbl...
Salut PR !
dans VB6 la touche '+' faisait apparaitre ce tableau
apparemment pas dans vb.net
Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait
jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations
?
Il ne faut pas confondre *combiner* et *additionner* des membres
d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de
type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la
différence fondamentale existante entre les deux opérations :
http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
--
Cordialement
Yanick
MVP pour Visual Basic
"PR" <pr314159@bamboo.lu> a écrit dans le message de news:
eP9SoE53FHA.3160@TK2MSFTNGP10.phx.gbl...
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre
de type enum
le tableau des constantes énumérées apparait
lors de la frappe de la virgule puis de 'and' puis espace
ou 'or' puis espace
je vous remercie de votre réponse. mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes. Il me suffira de remplacer le and par + mais a la main. 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
encore merci de votre reponse. PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:
Salut PR !
dans VB6 la touche '+' faisait apparaitre ce tableau apparemment pas dans vb.net Y a t il un moyen d'y remédier?
Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait jamais dû agir de la sorte.
Dans quel contexte voudrais-tu **additionner** des membres d'énumérations ?
Il ne faut pas confondre *combiner* et *additionner* des membres d'énumération. On doit employé l'opérateur Or pour combiner des valeurs de type <Flags()>
Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la différence fondamentale existante entre les deux opérations : http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/add2c7a07fc4bbdf/af6ff365e2f675b5#af6ff365e2f675b5
-- Cordialement Yanick MVP pour Visual Basic
"PR" a écrit dans le message de news:
Bonjour,
Lorsque que dans les paramètres d'une fonction il y a un paramètre de type enum
le tableau des constantes énumérées apparait lors de la frappe de la virgule puis de 'and' puis espace ou 'or' puis espace
merci
PR
Patrice
Il est toujours possible de commencer à taper le nom de l'énumération ce qui déclenchera l'affichage (quelques touches de plus à frapper mais bon...)
ATTENTION le Or et + ne sont pas équivalents (+ produira toujours un résultat différent, Or ne produira pas un résultat différent si la valeur est déjà positionnée).
Voir par exemple énumération : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemiofileattributesclasstopic.asp (en français)
et comparer les valeurs a et b produites par :
Dim a As FileAttribute Dim b As FileAttribute For i As Integer = 1 To 5 a = a + FileAttribute.ReadOnly ' DANGEREUX ! b = b Or FileAttribute.ReadOnly Debug.WriteLine(a & vbTab & b) Next
et par exemple à un moment donné A vaut 4 c'est à dire la valeur pour les fichiers Système !!! Donc si + est utilisé, on risque tôt ou tard d'avoir systématique à voir quel est la valeur actuelle pour ne la modifier que si nécessaire ce dont le Or s'affranchit totalement.
(La méthode ci-dessus est plutôt un moyen de stocker de façon compacte un ensemble de caractéristiques vrai/faux, je ne suis pas sûr de ce que tu veux faire...)
--
"PR" a écrit dans le message de news:%
je vous remercie de votre réponse. mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes. Il me suffira de remplacer le and par + mais a la main. 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
encore merci de votre reponse. PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news: > Salut PR ! > >> dans VB6 la touche '+' faisait apparaitre ce tableau >> apparemment pas dans vb.net >> Y a t il un moyen d'y remédier? > > Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait > jamais dû agir de la sorte. > > Dans quel contexte voudrais-tu **additionner** des membres
d'énumérations
> ? > > Il ne faut pas confondre *combiner* et *additionner* des membres > d'énumération. On doit employé l'opérateur Or pour combiner des valeurs
de
> type <Flags()> > > Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la > différence fondamentale existante entre les deux opérations : >
> > > -- > Cordialement > Yanick > MVP pour Visual Basic > > "PR" a écrit dans le message de news: > >> Bonjour, >> >> Lorsque que dans les paramètres d'une fonction il y a un paramètre >> de type enum >> >> le tableau des constantes énumérées apparait >> lors de la frappe de la virgule puis de 'and' puis espace >> ou 'or' puis espace >> >> >> >> merci >> >> PR >> > >
Il est toujours possible de commencer à taper le nom de l'énumération ce qui
déclenchera l'affichage (quelques touches de plus à frapper mais bon...)
ATTENTION le Or et + ne sont pas équivalents (+ produira toujours un
résultat différent, Or ne produira pas un résultat différent si la valeur
est déjà positionnée).
Voir par exemple énumération :
http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemiofileattributesclasstopic.asp
(en français)
et comparer les valeurs a et b produites par :
Dim a As FileAttribute
Dim b As FileAttribute
For i As Integer = 1 To 5
a = a + FileAttribute.ReadOnly ' DANGEREUX !
b = b Or FileAttribute.ReadOnly
Debug.WriteLine(a & vbTab & b)
Next
et par exemple à un moment donné A vaut 4 c'est à dire la valeur pour les
fichiers Système !!! Donc si + est utilisé, on risque tôt ou tard d'avoir
systématique à voir quel est la valeur actuelle pour ne la modifier que si
nécessaire ce dont le Or s'affranchit totalement.
(La méthode ci-dessus est plutôt un moyen de stocker de façon compacte un
ensemble de caractéristiques vrai/faux, je ne suis pas sûr de ce que tu veux
faire...)
--
"PR" <pr314159@bamboo.lu> a écrit dans le message de
news:%23kfBzk83FHA.1184@TK2MSFTNGP12.phx.gbl...
je vous remercie de votre réponse.
mais je ferai qqs remarques:
1/si vb6 le faisait ce ne devait pas etre aussi horrible
que ça.
D'autre part quel mal peut il y avoir à
additionner des constantes.
Il me suffira de remplacer le and par +
mais a la main.
2/N'étant pas pro de l'informatique je n'aime
pas trop les and et les or
et j'avais bricolé qqchose pour y remédier
dans cette occurrence:
la 1ère constante vaut 1 à 9
la 2ème vaut 10 à 90
la 3ème 100 a 900
etc...
ensuite je fais la somme (d'où ma question)
je transforme le long en string
et chaque caractère vaut de 1 à 9 (le 0 étant le defaut)
avec un long 32bits j'ai 9 variations de la meme
particularité de la voiture et non pas
2 (presence ou absence)
encore merci de votre reponse.
PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: uKY3hW83FHA.1276@TK2MSFTNGP09.phx.gbl...
> Salut PR !
>
>> dans VB6 la touche '+' faisait apparaitre ce tableau
>> apparemment pas dans vb.net
>> Y a t il un moyen d'y remédier?
>
> Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait
> jamais dû agir de la sorte.
>
> Dans quel contexte voudrais-tu **additionner** des membres
d'énumérations
> ?
>
> Il ne faut pas confondre *combiner* et *additionner* des membres
> d'énumération. On doit employé l'opérateur Or pour combiner des valeurs
de
> type <Flags()>
>
> Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la
> différence fondamentale existante entre les deux opérations :
>
>
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
>
> "PR" <pr314159@bamboo.lu> a écrit dans le message de news:
> eP9SoE53FHA.3160@TK2MSFTNGP10.phx.gbl...
>> Bonjour,
>>
>> Lorsque que dans les paramètres d'une fonction il y a un paramètre
>> de type enum
>>
>> le tableau des constantes énumérées apparait
>> lors de la frappe de la virgule puis de 'and' puis espace
>> ou 'or' puis espace
>>
>>
>>
>> merci
>>
>> PR
>>
>
>
Il est toujours possible de commencer à taper le nom de l'énumération ce qui déclenchera l'affichage (quelques touches de plus à frapper mais bon...)
ATTENTION le Or et + ne sont pas équivalents (+ produira toujours un résultat différent, Or ne produira pas un résultat différent si la valeur est déjà positionnée).
Voir par exemple énumération : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemiofileattributesclasstopic.asp (en français)
et comparer les valeurs a et b produites par :
Dim a As FileAttribute Dim b As FileAttribute For i As Integer = 1 To 5 a = a + FileAttribute.ReadOnly ' DANGEREUX ! b = b Or FileAttribute.ReadOnly Debug.WriteLine(a & vbTab & b) Next
et par exemple à un moment donné A vaut 4 c'est à dire la valeur pour les fichiers Système !!! Donc si + est utilisé, on risque tôt ou tard d'avoir systématique à voir quel est la valeur actuelle pour ne la modifier que si nécessaire ce dont le Or s'affranchit totalement.
(La méthode ci-dessus est plutôt un moyen de stocker de façon compacte un ensemble de caractéristiques vrai/faux, je ne suis pas sûr de ce que tu veux faire...)
--
"PR" a écrit dans le message de news:%
je vous remercie de votre réponse. mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes. Il me suffira de remplacer le and par + mais a la main. 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
encore merci de votre reponse. PR
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news: > Salut PR ! > >> dans VB6 la touche '+' faisait apparaitre ce tableau >> apparemment pas dans vb.net >> Y a t il un moyen d'y remédier? > > Nope.. et c'est pour un bonne raison... en fait, c'est VB6 qui n'aurait > jamais dû agir de la sorte. > > Dans quel contexte voudrais-tu **additionner** des membres
d'énumérations
> ? > > Il ne faut pas confondre *combiner* et *additionner* des membres > d'énumération. On doit employé l'opérateur Or pour combiner des valeurs
de
> type <Flags()> > > Lit mes deux messages dans ce thread, ça pourrait t'éclairer sur la > différence fondamentale existante entre les deux opérations : >
> > > -- > Cordialement > Yanick > MVP pour Visual Basic > > "PR" a écrit dans le message de news: > >> Bonjour, >> >> Lorsque que dans les paramètres d'une fonction il y a un paramètre >> de type enum >> >> le tableau des constantes énumérées apparait >> lors de la frappe de la virgule puis de 'and' puis espace >> ou 'or' puis espace >> >> >> >> merci >> >> PR >> > >
Zoury
> 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
Je vois. :O)
Dans un système de flag réinventé comme le tient, j'avoue que l'addition de membre d'énumération peut-être pratique. La solution que tu proposes consistant à remplacer les And ou Or par des + par la suite est ta seule porte de sortie si tu tiens à avoir l'intellisense (la liste de valeur qui apparait lors de l'édition de code).
Maintenant pour compléter tes autres questions :
mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes.
Si on considère l'approche préconiser par .NET concernant l'utilisation des énumération avec l'attribut <Flags>, l'emploi de l'addition au lieu du OU logique risque de nous retourné le mauvais résultat comme l'explique mon lien. Car 1 + 3 = 4 alors que 1 Or 3 = 3..
-- Cordialement Yanick MVP pour Visual Basic
> 2/N'étant pas pro de l'informatique je n'aime
pas trop les and et les or
et j'avais bricolé qqchose pour y remédier
dans cette occurrence:
la 1ère constante vaut 1 à 9
la 2ème vaut 10 à 90
la 3ème 100 a 900
etc...
ensuite je fais la somme (d'où ma question)
je transforme le long en string
et chaque caractère vaut de 1 à 9 (le 0 étant le defaut)
avec un long 32bits j'ai 9 variations de la meme
particularité de la voiture et non pas
2 (presence ou absence)
Je vois. :O)
Dans un système de flag réinventé comme le tient, j'avoue que l'addition de
membre d'énumération peut-être pratique. La solution que tu proposes
consistant à remplacer les And ou Or par des + par la suite est ta seule
porte de sortie si tu tiens à avoir l'intellisense (la liste de valeur qui
apparait lors de l'édition de code).
Maintenant pour compléter tes autres questions :
mais je ferai qqs remarques:
1/si vb6 le faisait ce ne devait pas etre aussi horrible
que ça.
D'autre part quel mal peut il y avoir à
additionner des constantes.
Si on considère l'approche préconiser par .NET concernant l'utilisation des
énumération avec l'attribut <Flags>, l'emploi de l'addition au lieu du OU
logique risque de nous retourné le mauvais résultat comme l'explique mon
lien. Car 1 + 3 = 4 alors que 1 Or 3 = 3..
> 2/N'étant pas pro de l'informatique je n'aime pas trop les and et les or et j'avais bricolé qqchose pour y remédier dans cette occurrence: la 1ère constante vaut 1 à 9 la 2ème vaut 10 à 90 la 3ème 100 a 900 etc... ensuite je fais la somme (d'où ma question) je transforme le long en string et chaque caractère vaut de 1 à 9 (le 0 étant le defaut) avec un long 32bits j'ai 9 variations de la meme particularité de la voiture et non pas 2 (presence ou absence)
Je vois. :O)
Dans un système de flag réinventé comme le tient, j'avoue que l'addition de membre d'énumération peut-être pratique. La solution que tu proposes consistant à remplacer les And ou Or par des + par la suite est ta seule porte de sortie si tu tiens à avoir l'intellisense (la liste de valeur qui apparait lors de l'édition de code).
Maintenant pour compléter tes autres questions :
mais je ferai qqs remarques: 1/si vb6 le faisait ce ne devait pas etre aussi horrible que ça. D'autre part quel mal peut il y avoir à additionner des constantes.
Si on considère l'approche préconiser par .NET concernant l'utilisation des énumération avec l'attribut <Flags>, l'emploi de l'addition au lieu du OU logique risque de nous retourné le mauvais résultat comme l'explique mon lien. Car 1 + 3 = 4 alors que 1 Or 3 = 3..