DWORD ByteIndex;
BYTE BitNumber;
PBYTE pANDBits; pANDBits[ByteIndex] |= (1<<BitNumber); pANDBits[ByteIndex] &= ~(1<<BitNumber);谁能把上面两条语句转化为Pascal语句,立马给分!
拜托:请在delphi下试一下,通过了再答
BYTE BitNumber;
PBYTE pANDBits; pANDBits[ByteIndex] |= (1<<BitNumber); pANDBits[ByteIndex] &= ~(1<<BitNumber);谁能把上面两条语句转化为Pascal语句,立马给分!
拜托:请在delphi下试一下,通过了再答
解决方案 »
- 那位大哥能帮我把C#转成delphi语法,小弟万分跪谢!
- 把DBGrid1数据集转换成execl文件
- 我想让 ShowMessage 出来的对话框的 OK 按钮点击后,使 Form 里的button失效,怎么办?
- 如何删除一个动态数组中的某一个元素?
- 不会吗,真的没有人能帮助我吗,谢谢各位大哥进来看看!
- Access___SQL SEVER 的数据导入问题
- 如果让QuickReport的预览窗口出现在我的MDI子窗口的一个Panel上?
- 请问如何得到Image.Canvas的大小。在线等。
- 日期转字符串的问题
- 高份收购,比较有挑战行(300)(要被抄了,救我啊)
- 请教:关于ADO数据库的问题!谢谢指教!
- 线程问题
pANDBits[ByteIndex] = pANDBits[ByteIndex] or BitNumber;
BitNumber := 1 shl BitNumber;
pANDBits[ByteIndex] = pANDBits[ByteIndex] and (not BitNumber);
// pANDBits: array[0..N] of Byte; //建议声明成静态的数组~~
begin
//...
pANDBits[ByteIndex] := pANDBits[ByteIndex] or (1 shl BitNumber);
pANDBits[ByteIndex] := pANDBits[ByteIndex] and ($FF xor (1 shl BitNumber));
//...
end;
pANDBits不是数组类型,语法检查都通不过C太灵活了
var
ByteIndex : DWORD;
BitNumber : BYTE;
pANDBits : PBYTE;
tmpBit : BYTE;
test : array[0..10] of BYTE;
pANDBitsArray : PByteArray;
begin
ByteIndex := 2;
test[2] := 101;
BitNumber := 1;
pANDBits := @test[0];
pANDBitsArray := ADDr(pANDBits^);
tmpBit := 1 shl BitNumber;
pANDBitsArray^[ByteIndex] := pANDBitsArray^[ByteIndex] or tmpBit;
tmpBit := 1 shl BitNumber;
pANDBitsArray^[ByteIndex] := pANDBitsArray^[ByteIndex] and (not tmpBit);
ShowMessage(IntToStr(integer(pANDBitsArray^[ByteIndex])));
end;
pANDBits[ByteIndex] |= (1<<BitNumber); ——>>
var
ByteIndex :DWORD;
BitNumber:BYTE;
pANDBits:PBYTE;
pBit:BYTE;
n:Cardinal;
beginn := pAndBits^;
n := (ByteIndex -1) shl n;
n:= n shr (32 - ByteIndex);
pBit := n;
pBit := pBit or (1 shl BitNumber);end;
PByteArray(pANDBits)^[ByteIndex] := PByteArray(pANDBits)^[ByteIndex] or (1 shl BitNumber);
PByteArray(pANDBits)^[ByteIndex] := PByteArray(pANDBits)^[ByteIndex] and ($FF xor (1 shl BitNumber));
//...
ByteIndex:DWord
BitNumber:Byte;
pANDBits:PByte; PByteArray(pANDBits)[ByteIndex]:=PByteArray(pANDBits)[ByteIndex] or (1 shl BitNumber); PByteArray(pANDBits)[ByteIndex]:=PByteArray(pANDBits)[ByteIndex] and not (1 shl BitNumber);