Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Tu peux plus simplement
glong = 256& * 255
"Curl" a écrit :Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Tu peux plus simplement
glong = 256& * 255
"Curl" a écrit :
Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Tu peux plus simplement
glong = 256& * 255
"Curl" a écrit :Dim glong as long
glong = 256
glong = 255*glong
Fonctionne
ou encore
glong = clng(256)*clng(255)
ou encore
en déclarant 256 et 255 comment des constantes de type long ..
C'est logique, mais pas pratique..
Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" a écrit dans le message de
news:41514ecd$0$12983$Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" <Mr.Bilou@microsoft.fr> a écrit dans le message de
news:41514ecd$0$12983$626a14ce@news.free.fr...
Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" a écrit dans le message de
news:41514ecd$0$12983$Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
"le_troll" a écrit dans le message de news:
%23xw14$Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" a écrit dans le message de
news:41514ecd$0$12983$Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
"le_troll" <le_trol@paris.fr> a écrit dans le message de news:
%23xw14$LoEHA.3820@TK2MSFTNGP09.phx.gbl...
Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" <Mr.Bilou@microsoft.fr> a écrit dans le message de
news:41514ecd$0$12983$626a14ce@news.free.fr...
Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
Toutes les réponses données sont belles et bonnes mais n'expliquent pas
pourquoi VB est incapable du transtypage dans ce cas.
Bien sûr on peut remarquer que cela provient du fait que le résultat n'est
pas du même type "naturel" que les opérandes, mais quand même !
"le_troll" a écrit dans le message de news:
%23xw14$Bonjour, ça aussi ça, marche...
dim x as long
dim y as long
dim z as long
x = 256
y = 256
z = x * y
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Curl" a écrit dans le message de
news:41514ecd$0$12983$Bonjour..
Je commence à perdre les pédales.
Dim glong as Long
glong = 256 * 255
m'indique un dépassement de capacité .
Pourquoi ?
"Patrice Henrio" a écrit dans le message de
news:%23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
Hello,
c'est pourtant très simple.
Tout est clairement écrit dans la documentation.
Je cite MSDN:
* Operator
Used to multiply two numbers.
Syntax
result = number1*number2
The * operator syntax has these parts:
Part Description
result Required; any numeric variable.
number1 Required; any numeric expression.
number2 Required; any numeric expression.
Remarks
The data type of result is usually the same
as that of the most precise expression.
Ah, nous y voila:
"Le type du résultat est en général
le type de l'expression la plus précise."
Or quel est le type de '255' ou de '256' ?
Facile, demandons à VB: debug.print Typename(256)
La réponse est: Integer ; VB cherche donc à mettre le
résultat de la multiplication de 1 Integer par un
autre Integer dans un ... TADAA .. Integer, qui est le
type le plus précis.
Mais 256 *256 , ça ne tient pas dans un Integer,
d'ou un très normal et très bien documenté: Overflow.
Donc tout est clair :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:%23$GnZzMoEHA.4068@tk2msftngp13.phx.gbl...
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
Hello,
c'est pourtant très simple.
Tout est clairement écrit dans la documentation.
Je cite MSDN:
* Operator
Used to multiply two numbers.
Syntax
result = number1*number2
The * operator syntax has these parts:
Part Description
result Required; any numeric variable.
number1 Required; any numeric expression.
number2 Required; any numeric expression.
Remarks
The data type of result is usually the same
as that of the most precise expression.
Ah, nous y voila:
"Le type du résultat est en général
le type de l'expression la plus précise."
Or quel est le type de '255' ou de '256' ?
Facile, demandons à VB: debug.print Typename(256)
La réponse est: Integer ; VB cherche donc à mettre le
résultat de la multiplication de 1 Integer par un
autre Integer dans un ... TADAA .. Integer, qui est le
type le plus précis.
Mais 256 *256 , ça ne tient pas dans un Integer,
d'ou un très normal et très bien documenté: Overflow.
Donc tout est clair :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:%23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
Hello,
c'est pourtant très simple.
Tout est clairement écrit dans la documentation.
Je cite MSDN:
* Operator
Used to multiply two numbers.
Syntax
result = number1*number2
The * operator syntax has these parts:
Part Description
result Required; any numeric variable.
number1 Required; any numeric expression.
number2 Required; any numeric expression.
Remarks
The data type of result is usually the same
as that of the most precise expression.
Ah, nous y voila:
"Le type du résultat est en général
le type de l'expression la plus précise."
Or quel est le type de '255' ou de '256' ?
Facile, demandons à VB: debug.print Typename(256)
La réponse est: Integer ; VB cherche donc à mettre le
résultat de la multiplication de 1 Integer par un
autre Integer dans un ... TADAA .. Integer, qui est le
type le plus précis.
Mais 256 *256 , ça ne tient pas dans un Integer,
d'ou un très normal et très bien documenté: Overflow.
Donc tout est clair :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
sera du type le plus grand des variables participant à l'opération. Dans
cas là integer puisque les deux variables sont du même type. C'est pour
que tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
"Patrice Henrio" a écrit dans le message de
news: %23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" a écrit dans le message de news:
> %23xw14$
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" a écrit dans le message de
>> news:41514ecd$0$12983$
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>
En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
sera du type le plus grand des variables participant à l'opération. Dans
cas là integer puisque les deux variables sont du même type. C'est pour
que tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: %23$GnZzMoEHA.4068@tk2msftngp13.phx.gbl...
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" <le_trol@paris.fr> a écrit dans le message de news:
> %23xw14$LoEHA.3820@TK2MSFTNGP09.phx.gbl...
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" <Mr.Bilou@microsoft.fr> a écrit dans le message de
>> news:41514ecd$0$12983$626a14ce@news.free.fr...
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>
En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
sera du type le plus grand des variables participant à l'opération. Dans
cas là integer puisque les deux variables sont du même type. C'est pour
que tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
"Patrice Henrio" a écrit dans le message de
news: %23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" a écrit dans le message de news:
> %23xw14$
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" a écrit dans le message de
>> news:41514ecd$0$12983$
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>
Salut, ben ça sert à quoi alors de déclarer un LONG, si VB en fait
ce qu'il veut, c'est qui, qui commande ici, lol!
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"RABILLOUD JMARC [MVP]" a écrit
dans le message de news:En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
intermédiairesera du type le plus grand des variables participant à l'opération. Dans
cecas là integer puisque les deux variables sont du même type. C'est pour
celaque tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
d'erreur.
"Patrice Henrio" a écrit dans le message de
news: %23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
n'est> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" a écrit dans le message de news:
> %23xw14$
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" a écrit dans le message de
>> news:41514ecd$0$12983$
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>
Salut, ben ça sert à quoi alors de déclarer un LONG, si VB en fait
ce qu'il veut, c'est qui, qui commande ici, lol!
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"RABILLOUD JMARC [MVP]" <j-marc.rabilloud-nospam@numericable.fr> a écrit
dans le message de news:eqZz20NoEHA.2784@TK2MSFTNGP14.phx.gbl...
En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
intermédiaire
sera du type le plus grand des variables participant à l'opération. Dans
ce
cas là integer puisque les deux variables sont du même type. C'est pour
cela
que tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
d'erreur.
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: %23$GnZzMoEHA.4068@tk2msftngp13.phx.gbl...
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
n'est
> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" <le_trol@paris.fr> a écrit dans le message de news:
> %23xw14$LoEHA.3820@TK2MSFTNGP09.phx.gbl...
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" <Mr.Bilou@microsoft.fr> a écrit dans le message de
>> news:41514ecd$0$12983$626a14ce@news.free.fr...
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>
Salut, ben ça sert à quoi alors de déclarer un LONG, si VB en fait
ce qu'il veut, c'est qui, qui commande ici, lol!
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"RABILLOUD JMARC [MVP]" a écrit
dans le message de news:En fait c'est du aux règles de contrainte de type qu'utilise VB.
Pour aller plus vite, VB dimensionne toujours au plus juste toute les
variables (à prendre dans le sens large) au type le plus petit possible.
Quand tu écris
glong = 255 *256
il travaille au niveau type sur
long = integer * integer
Hors la règle de contrainte indique que la variable de calcul
intermédiairesera du type le plus grand des variables participant à l'opération. Dans
cecas là integer puisque les deux variables sont du même type. C'est pour
celaque tu as une erreur.
Si tu écrit
glong%5& * 256
il lit long=long*integer, il travaille sur un long et il n'y a pas
d'erreur.
"Patrice Henrio" a écrit dans le message de
news: %23$
> Toutes les réponses données sont belles et bonnes mais n'expliquent pas
> pourquoi VB est incapable du transtypage dans ce cas.
> Bien sûr on peut remarquer que cela provient du fait que le résultat
n'est> pas du même type "naturel" que les opérandes, mais quand même !
>
> "le_troll" a écrit dans le message de news:
> %23xw14$
>> Bonjour, ça aussi ça, marche...
>>
>> dim x as long
>> dim y as long
>> dim z as long
>> x = 256
>> y = 256
>> z = x * y
>>
>> --
>> Merci, @+, bye, Joe
>> troll75 AROBASE iFrance POINT com
>> ------------------------------------------
>> Le_Troll, éleveur de Trolls depuis César, qui disait:
>> Avec une hache, celui qui tient le manche a toujours raison !
>>
>>
>> "Curl" a écrit dans le message de
>> news:41514ecd$0$12983$
>>> Bonjour..
>>>
>>> Je commence à perdre les pédales.
>>>
>>> Dim glong as Long
>>> glong = 256 * 255
>>>
>>> m'indique un dépassement de capacité .
>>>
>>> Pourquoi ?
>>>
>>
>>
>
>