我是学习C++ Builder的新手。三天前,我安装了Embarcadero®。 C++Builder®2010.这种语言对我来说非常有趣。将Delphi代码的Indy 10写入C++ Builder的Indy 10
在Delphi中,我通常使用Indy 9和10的TIdMappedPortTCP编写一个简单的代理服务器。我通常使用它的OnExecute和OnOutboundData事件修改通过代理的数据。
因为我是C++ Builder中的新成员,所以我不知道如何将我的Delphi代码转换为完全正确的C++ Builder代码。
我试过和尝试过很多办法,包括读几本书,其中之一是的Borland C++ Builder中 - 完整的参考,通过赫伯特·希,以及增加知识。不幸的是,在这本书中并没有讨论与我的状况有关的所有非常重要的事情。此外,我找到谷歌的参考,但我没有找到。
所以,我冒昧地寻求你的帮助。我真的需要它。 请帮忙!非常感谢你。
以下是我想要写入C++ Builder的Indy 10的Delphi代码。
......
procedure TForm.IdMappedPortTCP1Execute(AContext: TIdContext);
var
Mydata, NetData: string;
begin
if (Pos('HTTP',netstring(AContext)) <> 0) or (Pos('GET',netstring(AContext)) <> 0) then begin
NetData := netstring(AContext);
TIdMappedPortContext(AContext).OutboundClient.IOHandler.Write(AddHeader(netstring(AContext),'Connection: Keep-Alive'));
Sleep(1000);
Mydata := 'GET http://website.com/ HTTP/1.1'+#13#10+'Host: website.com'#13#10;
NetData := Mydata + Netdata;
TIdMappedPortContext(AContext).NetData := netbyte(Netdata);
TIdMappedPortContext(AContext).OutboundClient.IOHandler.Write(netbyte(Mydata + NetData));
end;
end;
......
也许这不是学习新语言的方式。 –
恕我直言,这是正确的方式之一,先生大卫!... – RzV
我会从语言基础开始 –