CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  语言基础/算法/系统设计

求那位大侠帮我把这段C++改成Delphi,关于指针的

楼主myth_2002(myth)2006-03-08 10:45:02 在 Delphi / 语言基础/算法/系统设计 提问

麻烦改写这段C++:  
  char   sendBuf[MAX_PACKET_SIZE];  
  CP2PMessage   *pMsg   =   (CP2PMessage*)sendBuf;  
  pMsg->nMessageType   =   P2PMESSAGE;  
  memcpy(&pMsg->peer,   &m_LocalPeer,   sizeof(m_LocalPeer));  
  memcpy((pMsg   +   1),   pszText,   nTextLen);  
  其中CP2PMessage是个机构体:  
  struct   CP2PMessage  
  {  
  int   nMessageType; //   消息类型  
  PEER_INFO   peer; //   节点信息  
  };  
  小弟对那个“pmsg+1”实在不会写,请大侠帮忙。  
   
  问题点数:50、回复次数:6Top

1 楼myth_2002(myth)回复于 2006-03-08 11:04:39 得分 0

来个人啊Top

2 楼wvins(逸岚)回复于 2006-03-08 15:35:36 得分 10

试试这个  
  也算一个思路吧  
  delphi不支持指针移位运算~  
  type  
  MessageBuf   =   Record  
  c:   char[MAX_PACKET_SIZE];  
  end;  
  var  
  sendBuf:   array[0..1]   of   MessageBuf;   //  
   
  //CP2PMessage是类的话,如下:  
  CP2PMessage   pMsg:=   CP2PMessage(sendBuf[0]);  
  pMsg.nMessageType:=   P2PMESSAGE;  
  //逐个写入pMsg,即sendBuf[0]  
  //逐个写入sendBuf[1]  
  Top

3 楼myth_2002(myth)回复于 2006-03-09 10:06:02 得分 0

麻烦楼上,把什么叫“逐个写入”用代码解释一下Top

4 楼gzmhero(hihihi)回复于 2006-03-09 10:26:45 得分 40

试下下面的代码:  
   
  type  
          PCP2PMessage=^CP2PMessage;  
          CP2PMessage=record  
                  nMessageType:integer;  
                  peer:PEER_INFO;  
          end;  
  ......  
          sendBuf:array   [0..MAX_PACKET_SIZE]   of   char;  
          pMsg:PCP2PMessage;  
   
          pMsg:=@sendBuf[0];  
          pMsg^.nMessageType:=P2PMESSAGE;  
          copymemory(@(pMsg^.peer),@m_LocalPeer,sizeof(m_LocalPeer));  
   
          copymemory(Pointer(integer(pMsg)   +   sizeof(CP2PMessage)),   pszText,   nTextLen);  
  Top

5 楼wvins(逸岚)回复于 2006-03-09 10:45:32 得分 0

不错啊!  
  学习一下  
  delphi中也有copymemory的啊!  
  Top

6 楼myth_2002(myth)回复于 2006-03-09 11:04:12 得分 0

可以阿,多谢gzmheroTop

相关问题

  • 一段简单C++代码改成Delphi
  • DELPHI的指针类型与C++中的指针有什么区别吗?
  • delphi向C++传递结构指针的问题
  • 谁能帮我把这段delphi代码改成c++builder
  • 掌握 C++ 指针?
  • C++指针问题
  • C++指针问题
  • delphi指针问题
  • delphi中的指针可以象c++中一样用数组表示吗?
  • Delphi里有没有类似C里的指针常量的东东?

关键词

  • p2p
  • pmsg
  • cp2pmessage
  • nmessagetype
  • localpeer
  • sendbuf
  • pmessage
  • peer
  • 写入
  • copymemory

得分解答快速导航

  • 帖主:myth_2002
  • wvins
  • gzmhero

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo