***** 这句代码如何翻译?*****

swayi21 2005-03-27 04:50:55
(pGlobals->pAccount->Flags & MINI_AUTO_LOGON) ? 1 : 0

其中,Flags 是DWORD类型,
MINI_AUTO_LOGON 是常量,值为16。

两个值相与后怎么会是一个布尔类型呢?请解释并翻译,谢谢!
...全文
102 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyondtkl 2005-03-28
  • 打赏
  • 举报
回复
hehe
chijingde 2005-03-28
  • 打赏
  • 举报
回复
胡乱猜的,果然错了

不过大概就是这么个意思啦

辛亏有楼上补充,呵呵
Heyongfeng 2005-03-28
  • 打赏
  • 举报
回复
swayi21 2005-03-28
  • 打赏
  • 举报
回复
好,谢谢两位,按此说来,
BOOL(...)也是对的。
flyinwuhan 2005-03-27
  • 打赏
  • 举报
回复
if (pGlobals.pAccount.Flags and MINI_AUTO_LOGON = true then result= 1 else result= 0
错了:-)
if (pGlobals.pAccount.Flags and MINI_AUTO_LOGON) >0 then result= 1 else result= 0
flyinwuhan 2005-03-27
  • 打赏
  • 举报
回复
这是C++的问题语句,并不推荐这样用~~~~~~~`
推荐的写法(现代的):

(pGlobals->pAccount->Flags & MINI_AUTO_LOGON)==0 ? 0 : 1
flyinwuhan 2005-03-27
  • 打赏
  • 举报
回复
(pGlobals->pAccount->Flags & MINI_AUTO_LOGON) ? 1 : 0
if (pGlobals.pAccount.Flags and MINI_AUTO_LOGON = true then result= 1 else result= 0
swayi21 2005-03-27
  • 打赏
  • 举报
回复
to chijingde(AD)
>>>if pGlobals.pAccount.Flags and MINI_AUTO_LOGON then
不能这样做,

按你的解释就是说可以这样翻译:
原句:
CheckDlgButton(hDlg, IDD_AUTO_LOGON,
(pGlobals->pAccount->Flags & MINI_AUTO_LOGON) ? 1 : 0 );
译句:
CheckDlgButton(hDlg, IDD_AUTO_LOGON, BOOL(pGlobals.pAccount.Flags and MINI_AUTO_LOGON));
chijingde 2005-03-27
  • 打赏
  • 举报
回复
&位与

进行&操作后的数是0还是非0

0就是false
1就是true

chijingde 2005-03-27
  • 打赏
  • 举报
回复
if pGlobals.pAccount.Flags and MINI_AUTO_LOGON then
1
else
0


swayi21 2005-03-27
  • 打赏
  • 举报
回复
顶一下先,兄弟在线等,明白了就结帖。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧