求助!

wg961423 2003-06-03 09:40:04
//这是两个Delphi的过程。
procedure TForm1.ACMWaveIn1Data(data: Pointer; size: Integer);
var
mdata:array[1..140] of char;
k:integer;
begin
for k:=1 to size do mdata[k]:=pchar(dword(data)+dword(k-1))^;
NMUDP1.SendBuffer(mdata,size);
end;

procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
mdata:array[1..140] of char;
data:Pchar;
begin
NMUDP1.ReadBuffer(mdata,NumberBytes);
data:=pchar(dword(@mdata));
inc(PlayPackets);
if NumberBytes=-1 then inc(ErrorPackets)
else ACMWaveOut1.PlayBack(data,NumberBytes);
end;

//怎么改成C++ Builder的?
void __fastcall TForm1::In1Data(Pointer data, int size)
{
//怎么写?
}

void __fastcall TForm1::NMUDP1DataReceived(TComponent *Sender,
int NumberBytes, AnsiString FromIP, int Port)
{
//怎么写?
}
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wg961423 2003-06-04
  • 打赏
  • 举报
回复
C++Builder 不认pchar、^。
wg961423 2003-06-04
  • 打赏
  • 举报
回复
各位老大,pchar(dword(data)+dword(k-1))^;能在C++Builder中用吗?
Behard 2003-06-04
  • 打赏
  • 举报
回复
mdata[k] = pchar(dword(data)+dword(k-1))^;
是什么意思?(看不懂)
yingyys 2003-06-04
  • 打赏
  • 举报
回复
都写好了
wg961423 2003-06-04
  • 打赏
  • 举报
回复
UP
s98231106 2003-06-03
  • 打赏
  • 举报
回复

yes
zywx 2003-06-03
  • 打赏
  • 举报
回复
yes!
MikeWKL 2003-06-03
  • 打赏
  • 举报
回复
void __fastcall TForm1::In1Data(Pointer data, int size)
{
char mdata[140];
int k;

for (k=1;k<=size;k++)
{
mdata[k] = pchar(dword(data)+dword(k-1))^;
NMUDP1->SendBuffer(mdata,size); //这里NMUDP1定义是指针类型的吧?
}

}

void __fastcall TForm1::NMUDP1DataReceived(TComponent *Sender,
int NumberBytes, AnsiString FromIP, int Port)
{
char mdata[140];
pchar data;

NMUDP1->ReadBuffer(mdata,NumberBytes);
data = pchar(dword(&mdata));

PlayPackets++; //PlayPackets应该是public类型的吧?

if (NumberBytes = -1)
ErrorPackets++;
else
ACMWaveOut1->PlayBack(data,NumberBytes);

}
codecb 2003-06-03
  • 打赏
  • 举报
回复
char mdata[140];
int k;
for (k=1,k<=size,k++)
{
mdata[k]=pchar(dword(data)+dword(k-1))^;
}



char mdata[140];
pchar data;
NMUDP1->ReadBuffer(mdata,NumberBytes);
data->pchar(dword(&mdata));
PlayPackets++;
if (NumberBytes=-1)
{
ErrorPackets++;
}
else
ACMWaveOut1->PlayBack(data,NumberBytes);

wg961423 2003-06-03
  • 打赏
  • 举报
回复
帮我顶!

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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