有很多东西,不经常使用,都忘记了,哈哈!做个记录!
1.packed record 中 packed 的作用
packed 表示 record 中数据的对齐方式,默认情况下,Delphi每次分配4字节的内存,及时声明的类型,不需要使用4字节,也是按4字节分配,加上packed后,按实际大小分配,占用内存小,但是速度慢。
2.Delphi中的指针 “^”和“@”符号的使用
a.声明指针: var PInteger : ^Integer;
b.通过指针,调用对应的值: var p :PInteger; 应使用 p^
c.将对象的值赋给指针需要取地址:pstr := @ObjectVar
3.delphi中String,PChar,PByte,Array of Char,Array of Byte的转换方法
4. s: string = 'CSDN';
则有PChar(s)^ = 'C',(PChar(s)+1)^='S',……(PChar(s)+4)^=#0。
且:PInteger(Integer(Pointer(s))-1*sizeof(DWORD))^=length(s)
和:PInteger(Integer(Pointer(s))-2*sizeof(DWORD))^=refcount(s)