如何将以下C ++代码转换为Delphi?特别是isenable
是什么?我试图找出是否正在添加此值。
unsigned char isenable = 0;
if (m_Isbuzzer)
{
isenable = isenable | 0x01;
}
if (m_Isled)
{
isenable = isenable | 0x02;
}
答案 0 :(得分:4)
在Windows上,char
是8位类型,unsigned
表示无符号。通常,unsigned char
用于面向二进制字节的数据。因此,将unsigned char
映射到Byte
。 Rudy Velthuis写的优秀文章Pitfalls of converting包含了这些信息。
|
运算符是按位OR。列出了C ++运算符,并在此处详细记录:http://en.cppreference.com/w/cpp/language/expressions#Operators在Delphi中,按位OR是or
operator。
所以代码是:
var
isenable: Byte;
....
isenable := 0;
if IsBuzzer then
isenable := isenable or $01;
if IsLED then
isenable := isenable or $02;