31. oktober 2007 - 13:30
Der er
15 kommentarer og 2 løsninger
hvad betyder denne syntax?
hvad betyder dette der står i if |= DWORD dwFlags=0; if(bMultiThreadedNotifications) dwFlags|=MAPI_MULTITHREAD_NOTIFICATIONS;
Annonceindlæg fra Kingston Technology
31. oktober 2007 - 13:46
#1
Det er shorthand for den lidt længere: dwFlags = dwFlags | MAPI_MULTITHREAD_NOTIFICATIONS; alstå bitvis-or.
31. oktober 2007 - 13:46
#2
Det er bitwise OR assignment. dwFlags får sat den bit der svarer til MAPI_MULTITHREAD_NOTIFICATIONS.
31. oktober 2007 - 13:47
#3
Notationen "|=" er simpelthen den samme som for "+=", "*=" osv.
31. oktober 2007 - 13:53
#4
det vil sige hvis dwflag = 0 og MAPI_MULTITHREAD_NOTIFICATIONS = true så giver dwflag: 0 or true som giver 1
31. oktober 2007 - 13:58
#5
ikke boolsk or men bitwise or b01001001 | b00000010 giver b01001011
31. oktober 2007 - 13:59
#6
aaaaahhhh ok
31. oktober 2007 - 14:25
#7
Der står i min debug at dwFlag = A regner med at det er hex fordi dwFlags|=MAPI_NT_SERVICE; hvor at define MAPI_NT_SERVICE = 0x00010000 hvad betyder det når det står i en if som true eller false hvordan kan dwFlag = 0x00010000 if(dwFlags) { MAPIINIT_0 MAPIInit={ MAPI_INIT_VERSION, dwFlags }; if(MAPIInitialize(&MAPIInit)!=S_OK) { return FALSE; } } else { if(MAPIInitialize(NULL)!=S_OK) return FALSE; } return TRUE; }
31. oktober 2007 - 14:25
#8
aaaarrgggg manglede noget hvad betyder det når det står i en if som true eller false hvordan kan dwFlag = 0x00010000 være true eller false
31. oktober 2007 - 14:30
#9
0 er false, alt andet er true...
31. oktober 2007 - 14:32
#10
aaahhh ja det er rigtig, man har jo helt glemt sit C/C++ her i disse Java/C# tider :-)
31. oktober 2007 - 14:46
#11
læg lige nogle svar
31. oktober 2007 - 15:54
#12
Svar :^)
31. oktober 2007 - 16:01
#13
hmmmm er dette ikke misvisende o = ok 1=fals #define S_OK ((HRESULT)0x00000000L) #define S_FALSE ((HRESULT)0x00000001L)
31. oktober 2007 - 16:13
#14
Man bruger ofte en konvention: if(funk(bla,bla)) { ... } i betydningen: if(fejlifunk(bla,bla)) { ... } d.v.s. at den returnerer sand eller falsk til om der er fejl. Og saa bliver falsk til OK !
31. oktober 2007 - 16:16
#15
nååå ok altså om det er true at der er fejl :-) læg et svar
31. oktober 2007 - 16:35
#16
svar
31. oktober 2007 - 17:34
#17
31/10-2007 14:32:45> Sådan virker det nu også i C# og Java :^)
Kurser inden for grundlæggende programmering