简单问题:(50分)

  • 主题发起人 主题发起人 小胡
  • 开始时间 开始时间

小胡

Unregistered / Unconfirmed
GUEST, unregistred user!
Indy中TIdSocketHandle.SendTo的原型如下:
TIdSocketHandle.SendTo(const AIP: string
const APort: Integer
var ABuffer
const ABufferSize: Integer);
如果发送一个字符串,调用时要像下面这样:
var
s: string;
begin
s := 'aaa';
SendTo(ABinding.PeerIP,ABinding.PeerPort,s[1],Length(s));
end
这个s[1]按书上说的,应该表示的是s的第一个字符,在这里进行发送字串的时候,
它表达的是什么含义?
 
buffer的第一个字符开始
 
应该是用来字符串的首地址(作指针用)
 
s[0] 处存储着数组中的字符个数
s[1]开始为字符数组
 
字符串数组 是 从 1 开始的。
 
s := '1234567890';
SendTo((ABinding.PeerIP, ABinding.PeerPort, pchar(s)^, Length(s));
我像上面这样,也调用成功了。我用showmessage显示,它显示 1
showmessage(pchar(m)^)


我正在努力的理解。有没有高手能赐教赐教?
 
好像很难一二句话说的清楚,你看看有关String和PChar的内容
 
谢谢yostgxf及各位的指教。
 

Similar threads

回复
0
查看
867
不得闲
回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部