我希望创建一个轻量级的对象数据包,在客户端和服务器应用程序之间传递。
这是一个非常简单的任务,只需要使用1字节就可以控制,因此每个字节中的每一位都有不同的含义,
仅使用位操作即可实现。
0 = False
1 = True
我现在需要的物品:
1 - Loaded from database
2 - Persisted
3 - Changed
4 - Marked to Delete
5 -
6 -
7 - Null Value
8 - Read Only
1) How do I use bit operators in Delphi to check each bit value?
2) How do I set the bit Values?
解决方案
在得到所有帮助之后,我将使用下一个Set。
TStateType = (
stLoaded = 0, // loaded from persistance
stNative = 2, // value loaded and converted to native type
stPersisted = 3, // saved
stChanged = 4, // object or member changed
stToDelete = 5, // marked to delete
stReadOnly = 6, // read only object, will not allow changes
stNull = 7 // value is null
);
TState = Set of TStateType;
对于流 -> 持久化,将使用此记录:
TDataPackage = record
Data: TBytes;
TypeInfo: TMetaInfo;
State: Byte;
Instance: TBuffer;
end;
感谢大家提供的答案和评论。