我看了VC是这样定义的:
typedef struct _modem_data_t {
u32t m_modemId; // Modem模块的ID号
u64t m_recv_time; //接收到数据包的时间
u16t m_data_len; //接收到的数据包长度
u8t m_data_type; //接收到的数据包类型,
u8t m_data_buf[1]; //存储接收到的数据
}ModemDataStruct;然后在一个函数里面我是这样来用的:
ModemDataStruct *pModemData;
pModemData=(ModemDataStruct *)(new char[10240+sizeof(ModemDataStruct)]);
static char buf[2048];我现在要在VB中写这些,就是后面的,我该怎么来做啊!
typedef struct _modem_data_t {
u32t m_modemId; // Modem模块的ID号
u64t m_recv_time; //接收到数据包的时间
u16t m_data_len; //接收到的数据包长度
u8t m_data_type; //接收到的数据包类型,
u8t m_data_buf[1]; //存储接收到的数据
}ModemDataStruct;然后在一个函数里面我是这样来用的:
ModemDataStruct *pModemData;
pModemData=(ModemDataStruct *)(new char[10240+sizeof(ModemDataStruct)]);
static char buf[2048];我现在要在VB中写这些,就是后面的,我该怎么来做啊!
中间这个vb中似乎用不到
dim buf(2048) as string
if pModemData->m_data_len>0
{sprintf(buf,"\r\nuserid:%8.8x,time:%s,len:%d",pModemData->m_modemId,asctime(&when),pModemData->m_data_len);
pMainFrm->AddTextToEditView(buf);
}在VB里面怎么表达呢?
{sprintf(buf,"\r\nuserid:%8.8x,time:%s,len:%d",pModemData->m_modemId,asctime(&when),pModemData->m_data_len);
pMainFrm->AddTextToEditView(buf);
}vb为:
if pModemData.m_data_len>0 then
'\r\n不明白是什么意思,asctime(&when)这个也不明白是什么意思
buf="userid:" & pModemData.m_modemId & " time:" & asctime(&when) & " len:" & pModemData.m_data_len
'这下面一句也不理解
end if
u32t m_modemId; // Modem模块的ID号
u64t m_recv_time;//接收到数据包的时间
u16t m_data_len;//接收到的数据包长度
u8t m_data_type; //接收到的数据包类型,
u8t m_data_buf[1]; //存储接收到的数据
}ModemDataStruct;vb好象为(不是太肯定,因为vc不懂):
Private Type ModemDataStruct
m_modemId As Long
m_recv_time As Long
m_data_len As Long
m_data_type As Long
m_data_buf As String
End Type
'\r\n不明白是什么意思,asctime(&when)这个也不明白是什么意思
\r\n是回车换行,asctime(&when)是当前时间
buf="userid:" & pModemData.m_modemId & " time:" & asctime(&when) & " len:" & pModemData.m_data_len
sprintf相当于 debug.print
'这下面一句也不理解
也是结构里面的东西,没贴全而已
end if
Public Type ModemDataStruct
m_modemid As Long 'Modem模块的ID号
m_recv_time As Long '接收到数据包的时间
m_data_buf() As Byte
m_data_len As Integer '接收到的数据包长度
m_data_type As Byte '接收到的数据包类型,
End TypeDim rvdata As ModemDataStruct
If rvdata.m_data_len > 0 Then
。
。
现在主要就是对rvdata怎么定义啊,而且 u8t m_data_buf[1]; 在VB里面只要用这样可以吗:m_data_buf As String