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
YannX
Bnjr,
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++ Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect) With r1 if ( .left = r2.left) _ and ( .Top= r2.Top) _ and ( .Right= r2.Right) _ and ( .Bottom= r2.Bottom) _ then Rect_Egal = true End With End Function
L'autre solution est de faire une comparaison "texte" en utilisant les adresses des deux variables, et leur sizeof()... Quelqu'un connait en VB : cela sera sans doute plus rapide ..... YannX
"Loïc" a écrit dans le message de news:
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas comment faire.
exemple de code:
Public Type rect Left As Long Top As Long Right As Long Bottom As Long End Type
j'aimerai maintenant pouvoir effectuer l'opération de comparaison suivante:
if rect1 = rect2 then ... end if
mzid ca n'a pas l'air d'être la bonne syntaxe. Si vous pouviez m'aider.
Merci
-- Loïc
Bnjr,
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++
Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect)
With r1
if ( .left = r2.left) _
and ( .Top= r2.Top) _
and ( .Right= r2.Right) _
and ( .Bottom= r2.Bottom) _
then Rect_Egal = true
End With
End Function
L'autre solution est de faire une comparaison "texte"
en utilisant les adresses des deux variables, et leur sizeof()...
Quelqu'un connait en VB : cela sera sans doute plus rapide .....
YannX
"Loïc" <lcarrere@sodifrance.fr> a écrit dans le message de
news:mn.4a867d4cd1fd1992.16898@sodifrance.fr...
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas
comment faire.
exemple de code:
Public Type rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++ Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect) With r1 if ( .left = r2.left) _ and ( .Top= r2.Top) _ and ( .Right= r2.Right) _ and ( .Bottom= r2.Bottom) _ then Rect_Egal = true End With End Function
L'autre solution est de faire une comparaison "texte" en utilisant les adresses des deux variables, et leur sizeof()... Quelqu'un connait en VB : cela sera sans doute plus rapide ..... YannX
"Loïc" a écrit dans le message de news:
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas comment faire.
exemple de code:
Public Type rect Left As Long Top As Long Right As Long Bottom As Long End Type
j'aimerai maintenant pouvoir effectuer l'opération de comparaison suivante:
if rect1 = rect2 then ... end if
mzid ca n'a pas l'air d'être la bonne syntaxe. Si vous pouviez m'aider.
Merci
-- Loïc
Loïc
merci beaucoup pour ton aide. C'est effectivement dommage qu'en vb on ne puisse pas redéfinir des opérateurs. Je pensais qu'il y avait au moins une fonction de comparaison interne au language.
-- Loïc
merci beaucoup pour ton aide. C'est effectivement dommage qu'en vb on
ne puisse pas redéfinir des opérateurs. Je pensais qu'il y avait au
moins une fonction de comparaison interne au language.
merci beaucoup pour ton aide. C'est effectivement dommage qu'en vb on ne puisse pas redéfinir des opérateurs. Je pensais qu'il y avait au moins une fonction de comparaison interne au language.
-- Loïc
Loïc
Non hélas, c'est pour de grosses structures personnalisées.
-- Loïc
Non hélas, c'est pour de grosses structures personnalisées.
Non hélas, c'est pour de grosses structures personnalisées.
-- Loïc
christophe-pasde
Si c'est uniquement pour cette structure il y a les API qui vont bien,
si c'est pour toutes les structures alors là .... reste à comparer les champs un a un
Christophe
YannX a écrit :
Bnjr,
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++ Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect) With r1 if ( .left = r2.left) _ and ( .Top= r2.Top) _ and ( .Right= r2.Right) _ and ( .Bottom= r2.Bottom) _ then Rect_Egal = true End With End Function
L'autre solution est de faire une comparaison "texte" en utilisant les adresses des deux variables, et leur sizeof()... Quelqu'un connait en VB : cela sera sans doute plus rapide ..... YannX
"Loïc" a écrit dans le message de news:
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas comment faire.
exemple de code:
Public Type rect Left As Long Top As Long Right As Long Bottom As Long End Type
j'aimerai maintenant pouvoir effectuer l'opération de comparaison suivante:
if rect1 = rect2 then ... end if
mzid ca n'a pas l'air d'être la bonne syntaxe. Si vous pouviez m'aider.
Merci
-- Loïc
Si c'est uniquement pour cette structure il y a les API qui vont bien,
si c'est pour toutes les structures alors là .... reste à comparer les
champs un a un
Christophe
YannX a écrit :
Bnjr,
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++
Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect)
With r1
if ( .left = r2.left) _
and ( .Top= r2.Top) _
and ( .Right= r2.Right) _
and ( .Bottom= r2.Bottom) _
then Rect_Egal = true
End With
End Function
L'autre solution est de faire une comparaison "texte"
en utilisant les adresses des deux variables, et leur sizeof()...
Quelqu'un connait en VB : cela sera sans doute plus rapide .....
YannX
"Loïc" <lcarrere@sodifrance.fr> a écrit dans le message de
news:mn.4a867d4cd1fd1992.16898@sodifrance.fr...
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas
comment faire.
exemple de code:
Public Type rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Si c'est uniquement pour cette structure il y a les API qui vont bien,
si c'est pour toutes les structures alors là .... reste à comparer les champs un a un
Christophe
YannX a écrit :
Bnjr,
Une classe Rect avec un opérator=(&Rect...) hélas, c'est du C++ Public Function Rect_Egal(ByVal r1 as Rect, byVal r2 as Rect) With r1 if ( .left = r2.left) _ and ( .Top= r2.Top) _ and ( .Right= r2.Right) _ and ( .Bottom= r2.Bottom) _ then Rect_Egal = true End With End Function
L'autre solution est de faire une comparaison "texte" en utilisant les adresses des deux variables, et leur sizeof()... Quelqu'un connait en VB : cela sera sans doute plus rapide ..... YannX
"Loïc" a écrit dans le message de news:
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas comment faire.
exemple de code:
Public Type rect Left As Long Top As Long Right As Long Bottom As Long End Type
j'aimerai maintenant pouvoir effectuer l'opération de comparaison suivante:
if rect1 = rect2 then ... end if
mzid ca n'a pas l'air d'être la bonne syntaxe. Si vous pouviez m'aider.
Merci
-- Loïc
YannX
Alors regarde la comparaison 'binaire', en plaçant les zones en chaînes de caractères
Ou bien écris une DLL C++ pour ta classe ! Il y a plein d'articles pour cela... YannX "Loïc" a écrit dans le message de news:
Non hélas, c'est pour de grosses structures personnalisées.
-- Loïc
Alors regarde la comparaison 'binaire',
en plaçant les zones en chaînes de caractères
Ou bien écris une DLL C++ pour ta classe !
Il y a plein d'articles pour cela...
YannX
"Loïc" <lcarrere@sodifrance.fr> a écrit dans le message de
news:mn.4aa17d4cc09ec61e.16898@sodifrance.fr...
Non hélas, c'est pour de grosses structures personnalisées.
Je vais peut être répondre à côté, mais s'il s'agit de comparer finalement des formes (des rectangles), les api de regions qui permettent de savoir si une forme A est contenue dans une forme B, peuvent peut-être t'aider. Cf l'API guide.
Bon courage.
-- Pierre B.
Bonjour, Loïc a écrit :
Bonjour, j'ai une question un peu bête.
J'aimerai pouvoir comparer deux structures en vb mais je ne sais pas
comment faire.
exemple de code:
Public Type rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Je vais peut être répondre à côté, mais s'il s'agit de comparer
finalement des formes (des rectangles), les api de regions qui
permettent de savoir si une forme A est contenue dans une forme B,
peuvent peut-être t'aider. Cf l'API guide.
Je vais peut être répondre à côté, mais s'il s'agit de comparer finalement des formes (des rectangles), les api de regions qui permettent de savoir si une forme A est contenue dans une forme B, peuvent peut-être t'aider. Cf l'API guide.