来自:天若无痕, 时间:2003-9-10 15:48:00, ID:2169932 | 编辑
我有代码,不过在备份光盘,我简单说明:
服务端:
//假设ASendStr是要传输的字符串,即你的listview的组合字符串
procedure Send(ASendStr: string);
var
sTmp:string;
begin
sTmp := ASendStr + #12#13#14#15#16#17#18;
Socket.Send(sTmp);
end;
客户端:
var
sTmp: string;
procedure Receive(ARevStr: string);
begin
sTmp := sTmp + ArevStr;
if FindStr(ARevStr, #12#13#14#15#16#17#18) = true then
//说明:FindStr为搜索字符串函数,我忘记了,暂时胡乱替代
//找到这个#12#13#14#15#16#17#18串后,就可以把这个串之前前的字符串取出来
//例如'ABC'+#12#13#14#15#16#17#18+'DE',你取到就是ABC
//加上Sockt每次获取的字符串,就成为完整的一个字符串,你就可以解析了.
begin
FXString(sTmp); //这里就是你的分析函数
sTmp := '';
sTmp := 这里是#12#13#14#15#16#17#18之后的数据;
//例如'ABC'+#12#13#14#15#16#17#18+'DE',你取到的就是'DE'
end;
end;
//注意,在你的sockt控件的接收方法里面调用Receive即可.