我是學習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
我會從語言基礎開始 –