谁能帮我解释一下这段代码部分是什么意思?

mark2003 2007-08-13 03:20:25
以下是spcomm控件接收数据事件里面的代码

void __fastcall TfrmExchgHandset::spComReceiveData(TObject *Sender,
Pointer Buffer, WORD BufferLength)
{
char *ptr, *ptBuffer = (char *)Buffer, szSendBuffer[100];
if(strncmpi(ptBuffer, SERIAL_USER, strlen(SERIAL_USER))==0)
{
CurrStep = STEP_USER;
ptr = strstr(ptBuffer+strlen(SERIAL_USER), "\r");
memcpy(FConnectedUserNo, ptBuffer+strlen(SERIAL_USER), ptr-ptBuffer-strlen(SERIAL_USER));
}else if(strncmpi(ptBuffer, SERIAL_NEXT, strlen(SERIAL_NEXT))==0)
{
CurrStep = STEP_NEXT;
}


switch(CurrStep)
{
case STEP_USER:
spCom- >WriteCommData((char *)SERIAL_WELCOME, strlen(SERIAL_WELCOME));
}


(1)Pointer Buffer ----- Pointer是什么类型来的?
(2)(char *)Buffer 是什么意思?
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pfbzzfg 2007-08-14
  • 打赏
  • 举报
回复
我说不清楚,但每次需要这个参数时传过去就行。没有就定义一个。
反正我用着没有出过什么错。
mark2003 2007-08-14
  • 打赏
  • 举报
回复
漏了一个问题,那 TObject *Sender 是什么意思?
huzhangyou 2007-08-13
  • 打赏
  • 举报
回复
基础没有好好学习
都是一些基础里面的问题

继续努力
n27741 2007-08-13
  • 打赏
  • 举报
回复
干脆都贴出来吧 反正是帮助里面的
ShortInt 8-bit integer signed char typedef
SmallInt 16-bit integer short typedef
LongInt 32-bit integer int typedef
Byte 8-bit unsigned integer unsigned char typedef
Word 16-bit unsigned integer unsigned short typedef
Integer 32-bit integer int typedef
Cardinal 32-bit unsigned integer unsigned int typedef
Boolean true/false bool typedef
ByteBool true/false or 8-bit unsigned integer unsigned char typedef
WordBool true/false or 16-bit unsigned integer unsigned short typedef

LongBool true/false or 32-bit unsigned integer BOOL (WinAPI) typedef
AnsiChar 8-bit unsigned character char typedef
WideChar word-sized Unicode character wchar_t typedef
Char 8-bit unsigned character char typedef
AnsiString Delphi AnsiString AnsiString class
String[n] old style Delphi string, n = 1..255 bytes SmallString<n> template class
ShortString old style Delphi string, 255 bytes SmallString<255> typedef
String Delphi AnsiString AnsiString typedef

Single 32-bit floating point number float typedef
Double 64-bit floating point number double typedef
Extended 80-bit floating point number long double typedef
Real 32-bit floating point number double typedef
Pointer 32-bit generic pointer void * typedef
PChar 32-bit pointer to characters unsigned char * typedef
PAnsiChar 32-bit pointer to ANSI characters unsigned char * typedef
Comp 64-bit floating point number Comp class
OleVariant OLE variant value OleVariant class
geochway 2007-08-13
  • 打赏
  • 举报
回复
BCB中的定义:
typedef void* Pointer;

(1)Pointer是一空类型的指针,用它做参数类型,可以接受任意指针类型
(2)(char *)Buffer 强制类型转换,把Pointer类型转换为char *类型.
yefu2000 2007-08-13
  • 打赏
  • 举报
回复
Pointer 一般来说是一个指针类型,比如 void *

(char *)Buffer 定义一块缓冲区用来存放字符型数据

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧