Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ou logique

4 réponses
Avatar
karamel
Bonjour

je desire faire un ou logique entre deux valeurs, qui prennent 0 ou 1 mais
elles sont importantes.
Comment réaliser cette opération ?

dois-je déclarer la variable d'une certaine facon ??

code1 = "000000000001000000000000000000000000000000000000000000000000"
code2 = "000000000000000000100000000000000100000000000000000000000000"

result = "000000000001000000100000000000000100000000000000000000000000"


j'ai dépassement de capacité si je fait result = code1 or code2

merci de votre aide

4 réponses

Avatar
jero
Salut,
Par exemple ceci (à adapter)
Function fctLogiqueOu() As String
Dim Result As String, I As Byte, Lng As Byte
Const code1 = "000000000001000000000000000000000000000000000000000000000000"
Const code2 = "000000000000000000100000000000000100000000000000000000000000"
Lng = Len(code1)
For I = 1 To Lng
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2, I,
1)))
Next I
fctLogiqueOu = Result
End Function
A+
"karamel" a écrit dans le message de news:
4bc495f3$0$2979$
Bonjour

je desire faire un ou logique entre deux valeurs, qui prennent 0 ou 1 mais
elles sont importantes.
Comment réaliser cette opération ?

dois-je déclarer la variable d'une certaine facon ??

code1 = "000000000001000000000000000000000000000000000000000000000000"
code2 = "000000000000000000100000000000000100000000000000000000000000"

result = "000000000001000000100000000000000100000000000000000000000000"


j'ai dépassement de capacité si je fait result = code1 or code2

merci de votre aide


Avatar
karamel
Merci je vais essayer des que possible

MERCI


"jero" <~ a écrit dans le message de news:

Salut,
Par exemple ceci (à adapter)
Function fctLogiqueOu() As String
Dim Result As String, I As Byte, Lng As Byte
Const code1 =
"000000000001000000000000000000000000000000000000000000000000"
Const code2 =
"000000000000000000100000000000000100000000000000000000000000"
Lng = Len(code1)
For I = 1 To Lng
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2, I,
1)))
Next I
fctLogiqueOu = Result
End Function
A+
"karamel" a écrit dans le message de news:
4bc495f3$0$2979$
Bonjour

je desire faire un ou logique entre deux valeurs, qui prennent 0 ou 1
mais elles sont importantes.
Comment réaliser cette opération ?

dois-je déclarer la variable d'une certaine facon ??

code1 = "000000000001000000000000000000000000000000000000000000000000"
code2 = "000000000000000000100000000000000100000000000000000000000000"

result = "000000000001000000100000000000000100000000000000000000000000"


j'ai dépassement de capacité si je fait result = code1 or code2

merci de votre aide






Avatar
db
jero a écrit :
Salut,
Par exemple ceci (à adapter)
Function fctLogiqueOu() As String
Dim Result As String, I As Byte, Lng As Byte
Const code1 = "000000000001000000000000000000000000000000000000000000000000"
Const code2 = "000000000000000000100000000000000100000000000000000000000000"
Lng = Len(code1)
For I = 1 To Lng
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2, I,
1)))
Next I
fctLogiqueOu = Result
End Function



Bonsoir,

Si je peux me permettre, je suggérerais une petite modification :
à la place de
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2,
I, 1))
je propose de mettre
Result = Result & CStr(CByte(Mid(code1, I, 1)) or CByte(Mid(code2,
I, 1))

pour faire en sorte que, pour code1="1111" et code2="0010", on obtienne
"1111" et non "1121"

On peut d'ailleurs simplifier en :
Result = Result & CStr(Mid(code1, I, 1) or Mid(code2, I, 1))

db
Avatar
jero
Salut,
Si je peux me permettre... permission totalement accordée ;>)


A+
"db" a écrit dans le message de news:

jero a écrit :
Salut,
Par exemple ceci (à adapter)
Function fctLogiqueOu() As String
Dim Result As String, I As Byte, Lng As Byte
Const code1 =
"000000000001000000000000000000000000000000000000000000000000"
Const code2 =
"000000000000000000100000000000000100000000000000000000000000"
Lng = Len(code1)
For I = 1 To Lng
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2, I,
1)))
Next I
fctLogiqueOu = Result
End Function



Bonsoir,

Si je peux me permettre, je suggérerais une petite modification :
à la place de
Result = Result & CStr(CByte(Mid(code1, I, 1)) + CByte(Mid(code2, I,
1))
je propose de mettre
Result = Result & CStr(CByte(Mid(code1, I, 1)) or CByte(Mid(code2, I,
1))

pour faire en sorte que, pour code1="1111" et code2="0010", on obtienne
"1111" et non "1121"

On peut d'ailleurs simplifier en :
Result = Result & CStr(Mid(code1, I, 1) or Mid(code2, I, 1))

db