在 Delphi 中使用微软全文翻译的小例子

来源:互联网 发布:淘宝卖的火柴枪合法么 编辑:程序博客网 时间:2024/04/28 00:33
刚刚从博客园看到有朋友用 C# 做了这么个东西, 我用 Delphi 尝试了一下.

需要先去申请一个 AppID: http://www.bing.com/toolbox/bingdeveloper/
使用帮助在: http://msdn.microsoft.com/en-us/library/dd576287.aspx

uses MsXML;{函数}function Translate(AAppID: string; AText: string; InLanguage: string='en'; OutLanguage: string='zh-CHS'): string;const  BaseUrl = 'http://api.microsofttranslator.com/V2/http.svc/Translate?appId=%s&text=%s&from=%s&to=%s';var  Url: string;  req: IXMLHTTPRequest;begin  Url := Format(BaseUrl, [AAppID, AText, InLanguage, OutLanguage]);  req := CoXMLHTTP.Create;  req.open('Get', Url, False, EmptyParam, EmptyParam);  req.send(EmptyParam);  Result := req.responseText;  Result := Copy(Result, 68+1, Length(Result)-68-9); //去掉前后的标签end;{调用测试}procedure TForm1.Button1Click(Sender: TObject);const  myAppId = '65FCA293BDB85C98D16A567C3FECE22272B6****'; //这是我申请的 AppID, 隐藏了后四位begin  Memo2.Text := Translate(myAppId, Memo1.Text);end;


效果图:



使用 Indy:

uses IdHTTP;function Translate2(AAppID: string; AText: string; InLanguage: string='en'; OutLanguage: string='zh-CHS'): string;const  BaseUrl = 'http://api.microsofttranslator.com/V2/http.svc/Translate?appId=%s&text=%s&from=%s&to=%s';var  Url: string;  stream: TStringStream;  idHttpObj: TIdHTTP;begin  stream := TStringStream.Create;  idHttpObj := TIdHTTP.Create(nil);  Url := Format(BaseUrl, [AAppID, Trim(AText), InLanguage, OutLanguage]);  idHttpObj.Get(Url, stream);  Result := stream.DataString;  Result := Copy(Result, 68+1, Length(Result)-68-9); //去掉前后的标签  idHttpObj.Free;  stream.Free;end;

原创粉丝点击