j'ai créé des types préfinis du style
Enum RTF_Booléen
B_ND=0
B_Oui=1
B_Non=2
end enum
Type T_Police
NumPolice as long
TaillePolice as long
EstGras as RTF_Booléen
EstItalique as RTF_Booléen
End type
Type mon_Type
Chaine as string
Liste as RTF_Booléen
FormatPolice as T_Police
end type
Si je crée deux variables de type mon_Type :
Dim Var1 as mon_Type
Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation
avant éxécution.
Est-ce normal ?
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu
faire globalement ..
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
Jean-marc
driss hanib wrote:
Bonjour à tous
Hello Driss,
<snip>
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe, à base de CopyMemory. C'est décrit ici : http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Si je crée deux variables de type mon_Type :
Dim Var1 as mon_Type
Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la
compilation avant éxécution.
Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis
par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais
j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe,
à base de CopyMemory. C'est décrit ici :
http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe, à base de CopyMemory. C'est décrit ici : http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Etant sur d'une réponse négative, je me suis attelé aux fonctions de comparaison, du même type que ce que tu as écrit. Je vais néanmoins regarder ton lien.
Merci pour tes précisions
Driss
"Jean-marc" a écrit dans le message de news: 4b0c4a7d$0$2849$
driss hanib wrote:
Bonjour à tous
Hello Driss,
<snip>
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe, à base de CopyMemory. C'est décrit ici : http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Etant sur d'une réponse négative, je me suis attelé aux fonctions de
comparaison, du même type que ce que tu as écrit.
Je vais néanmoins regarder ton lien.
Merci pour tes précisions
Driss
"Jean-marc" <jm@nowhere.invalid> a écrit dans le message de news:
4b0c4a7d$0$2849$ba620e4c@news.skynet.be...
driss hanib wrote:
Bonjour à tous
Hello Driss,
<snip>
Si je crée deux variables de type mon_Type :
Dim Var1 as mon_Type
Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la
compilation avant éxécution.
Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis
par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais
j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe,
à base de CopyMemory. C'est décrit ici :
http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Etant sur d'une réponse négative, je me suis attelé aux fonctions de comparaison, du même type que ce que tu as écrit. Je vais néanmoins regarder ton lien.
Merci pour tes précisions
Driss
"Jean-marc" a écrit dans le message de news: 4b0c4a7d$0$2849$
driss hanib wrote:
Bonjour à tous
Hello Driss,
<snip>
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ?
Hélas oui. VB ne supporte pas la comparaison des types définis par l'utilisateur (UDT).
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Quand tes UDT ne contiennent pas de chaines, une astuce existe, à base de CopyMemory. C'est décrit ici : http://www.vb-helper.com/howto_compare_udt.html
Mais ce n'est pas applicable pour toi.
En revanche, tu peux tester membre à membre, dans une fonction.
Une recherche qui peut s'avérer fructueuse dans msdn, si je ne m'abuse : "surcharge d'opérateurs".
En bref : c'est une notion qui a été créée dans .Net pile poil po ur répondre à cette question.
Enfin j'attends de voir ce que va dire Jean-Marc, il a l'air d'un autre avis. __________________________________________ driss hanib a écrit, le 24/11/2009 20:21 :
Bonjour à tous
j'ai créé des types préfinis du style Enum RTF_Booléen B_ND=0 B_Oui=1 B_Non=2 end enum
Type T_Police NumPolice as long TaillePolice as long EstGras as RTF_Booléen EstItalique as RTF_Booléen End type
Type mon_Type Chaine as string Liste as RTF_Booléen FormatPolice as T_Police end type
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ? Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Driss
Bonjour,
Une recherche qui peut s'avérer fructueuse dans msdn, si je ne m'abuse :
"surcharge d'opérateurs".
En bref : c'est une notion qui a été créée dans .Net pile poil po ur
répondre à cette question.
Enfin j'attends de voir ce que va dire Jean-Marc, il a l'air d'un autre
avis.
__________________________________________
driss hanib a écrit, le 24/11/2009 20:21 :
Bonjour à tous
j'ai créé des types préfinis du style
Enum RTF_Booléen
B_ND=0
B_Oui=1
B_Non=2
end enum
Type T_Police
NumPolice as long
TaillePolice as long
EstGras as RTF_Booléen
EstItalique as RTF_Booléen
End type
Type mon_Type
Chaine as string
Liste as RTF_Booléen
FormatPolice as T_Police
end type
Si je crée deux variables de type mon_Type :
Dim Var1 as mon_Type
Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation
avant éxécution.
Est-ce normal ?
Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu
faire globalement ..
Une recherche qui peut s'avérer fructueuse dans msdn, si je ne m'abuse : "surcharge d'opérateurs".
En bref : c'est une notion qui a été créée dans .Net pile poil po ur répondre à cette question.
Enfin j'attends de voir ce que va dire Jean-Marc, il a l'air d'un autre avis. __________________________________________ driss hanib a écrit, le 24/11/2009 20:21 :
Bonjour à tous
j'ai créé des types préfinis du style Enum RTF_Booléen B_ND=0 B_Oui=1 B_Non=2 end enum
Type T_Police NumPolice as long TaillePolice as long EstGras as RTF_Booléen EstItalique as RTF_Booléen End type
Type mon_Type Chaine as string Liste as RTF_Booléen FormatPolice as T_Police end type
Si je crée deux variables de type mon_Type : Dim Var1 as mon_Type Dim Var2 as mon_Type
je veux écrire une condition du type :
if Var1 <> Var2 then
j'obtiens une erreur de type "Type Incompatible" lors de la compilation avant éxécution. Est-ce normal ? Autrement je vais tester chaque "sous variable" du type. mais j'aurais voulu faire globalement ..
Driss
Jean-marc
Gloops wrote:
Bonjour,
Hello,
Une recherche qui peut s'avérer fructueuse dans msdn, si je ne m'abuse : "surcharge d'opérateurs".
Une "notion" intéressante en effet.
En bref : c'est une notion qui a été créée dans .Net pile poil pour répondre à cette question.
C'est une fonctionnalité qui existe depuis longtemps, en C++ par exemple. Et elle a en effet été implémentée dans .net, donc dans VB.Net et C#.
Enfin j'attends de voir ce que va dire Jean-Marc, il a l'air d'un autre avis.
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6 et en peut donc pas être utile à Driss.
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6 et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis trompé de newsgroup (garder un il sur VB c'est bien joli, mais aprè s il ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas, c'est qu'il y a un os quelque part.
Jean-marc a écrit, le 30/11/2009 07:54 :
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6
et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis
trompé de newsgroup (garder un il sur VB c'est bien joli, mais aprè s il
ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas,
c'est qu'il y a un os quelque part.
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6 et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis trompé de newsgroup (garder un il sur VB c'est bien joli, mais aprè s il ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas, c'est qu'il y a un os quelque part.
Driss HANIB
Merci à tous.
Driss
"Gloops" a écrit dans le message de news:
Jean-marc a écrit, le 30/11/2009 07:54 :
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6 et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis trompé de newsgroup (garder un œil sur VB c'est bien joli, mais après il ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas, c'est qu'il y a un os quelque part.
Merci à tous.
Driss
"Gloops" <gloops@invalid.zailes.org> a écrit dans le message de news:
eVmLMsZcKHA.1648@TK2MSFTNGP05.phx.gbl...
Jean-marc a écrit, le 30/11/2009 07:54 :
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6
et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis
trompé de newsgroup (garder un œil sur VB c'est bien joli, mais après il
ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas,
c'est qu'il y a un os quelque part.
Pas du tout :-) Simplement, cette fonctionnalité n'existe pas en VB6 et en peut donc pas être utile à Driss.
Cordialement,
Aaargh, c'est vrai que je me suis planté, sur ce coup-là : je me suis trompé de newsgroup (garder un œil sur VB c'est bien joli, mais après il ne faut pas mélanger). Je me disais aussi, si Jean-Marc n'en parle pas, c'est qu'il y a un os quelque part.