我只知道vc的struct的使用,不知道 delphi的record如何捣腾,请高人指点。在vc中,有个结构体
typedef struct {
int a;
int b;
}NetDATA;如果将1块内存区强制为这个结构体的话,下面的代码就可以了:char * p; //p指向这个内存去
NetDATA * n=(NetDATA *)p;然后就可以使用 n->a 和 n->b 了。现在我有delphi这方面的问题。如果delphi中也有1块这样的内存区,如何将他强制为结构体呢?type
NetDATA= record
a:integer;
b:integer
end;var
p:PChar;
n:NetData;
如果p是指向1块内存区,如何将它赋值给n?
typedef struct {
int a;
int b;
}NetDATA;如果将1块内存区强制为这个结构体的话,下面的代码就可以了:char * p; //p指向这个内存去
NetDATA * n=(NetDATA *)p;然后就可以使用 n->a 和 n->b 了。现在我有delphi这方面的问题。如果delphi中也有1块这样的内存区,如何将他强制为结构体呢?type
NetDATA= record
a:integer;
b:integer
end;var
p:PChar;
n:NetData;
如果p是指向1块内存区,如何将它赋值给n?
解决方案 »
- Undeclared identifier: 'SaveToFile' 程序长了点看起来有点麻烦,但还是希望大家不吝赐教!!
- 急!如何用delphi实现excel,dbf表数据导入oracle数据库???
- TNode的Data能否指向一个TAction??
- 新手请教一个mdi的问题????
- 如何将一个字符串添加到一个MemoryStream的末尾,MemoryStream 本身不是空的。。。
- 在SQL查询时,怎样添加一字段并字段的值自动增加,!!!!!!!!!!!
- 在线等待,有关StringList的问题
- Delphi调用win32函数的帮助borland公司提供了吗?
- 求教高手
- 请问有什么办法让TImage有滚动条?如何让TImage的图像随着TImage控件放大缩小时候按比例放大缩小?我一定给分
- 拉Delphi一把
- 为什么用DELPHI开发的DLL输出的FORM,BCB无法调用?
PNetDATA=^NetDATA;
NetDATA= record
a:integer;
b:integer;
end;
我想问问下面这种情况如何折腾。type
PNetDATA=^NetDATA;
NetDATA= record
a:integer;
b:integer;
end;
var
buf: pointer;
pbuf: PChar; net:NetDATA;
pnet:PNetDATA;begin GetMem(buf, 100);
pbuf := PChar(buf);......
ClientSocket.ReadBuffer(pbuf, 200);
........ 如何将net的内容指向pbuf呢?
使用的时候:
pnet.a(相当于n->a)
或者
pnet^.a(相当于*n.a)其实跟c差不多
PNetDATA(pbuf).a 相当于((NetDATA *)p)->a
PNetDATA(pbuf)^.a 相当于 *((NetDATA *)p).a