文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 255
阅读 5
收藏 0
点赞 0
评论 0

刚刚从博客园看到有朋友用 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;

本文转载自:http://www.cnblogs.com/del/archive/2011/11/14/2248752.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
C# WinForm开发系列 - Reporting Services

收集微软的SQL Reporting Services 在商务智能系统(BI)与数据挖掘方面开发应用以及安装配置文章, 并提供了相关开发资源的下载地址. Reporting Services初体验 报表服务教程1: 创建基本报表...

长征2号 ⋅ 2017/11/06 ⋅ 0

HeidiSQL 8.0 发布,数据库客户端软件

Ansgar Becker 刚刚 宣布 HeidiSQL 8.0 发布了,HeidiSQL 是一个功能非常强大的数据库客户端软件,采用 Delphi 开发,支持 Windows 操作系统。支持 MySQL、MariaDB、Percona Server 和微软的...

oschina ⋅ 2013/05/21 ⋅ 39

C#与Java之比较

很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似 ,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区别都在什么地方呢?我们从今天...

青夜之衫 ⋅ 2017/12/05 ⋅ 0

Delphi 使用 Duilib 库--Duilib for Delphi

导读 什么是Duilib for Delphi? Duilib for Delphi是一个基于C++Duilib的开源工程,主要致力于在Delphi中使用Duilib库构建漂亮的UI。 怎么学习?首先对Duilib有基本的了解,特别是XML构建的U...

不在乎y ⋅ 2015/11/30 ⋅ 0

不在乎y/RTXCPluginForDelphiSDK

======= #RTXCPluginForDelphiSDK ##Delphi开发RTX插件 (Delphi XE6) 当初开发只是好奇, 所以去研究了下, 花了两天的时间翻译了原C++ SDK到Delphi 目录结构及祥细情况 Demo NotetipsGroup 一...

不在乎y ⋅ 2014/11/23 ⋅ 0

我是否应该放弃 VB.Net ?

本文是从 Should I abandon VB.Net? 这篇文章翻译而来。 我是否该放弃VB.Net呢?这个问题一次次的出现在我的脑海里,而且这种想法越来越强烈。放弃VB.Net至少能让我的生活变得轻松些。如果你...

红薯 ⋅ 2011/03/09 ⋅ 16

时刻为设计Metro应用准备着:Windows 8设计指南

微软将在2月29全球移动大会上,面向消费者发布Windows 8,Windows Store当天也会面世,它将支持从41个市场提交应用程序,超过最初的27个市场, Metro风格的应用无疑将是Win8系统的一道靓丽的...

WPDang ⋅ 2012/02/16 ⋅ 3

鲍尔默称90%的中国用户使用盗版软件

微软CEO鲍尔默(Steve Ballmer)借中国国家主席胡锦涛访美之际,向他抱怨90%的中国微软软件用户用的是盗版软件。 盗版问题是美国总统奥巴马和中国国家主席讨论的知识产权保护话题的一部分。根...

keith ⋅ 2011/01/23 ⋅ 15

学习编程,从何入手

计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。 电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令...

空空-Renzo ⋅ 2013/01/17 ⋅ 0

Anders将重返Delphi舞台?

作为Delphi和C#架构的先驱,Anders Hejlsberg已在这两种语言上活跃了很久,而Anders应邀加入微软后,似乎Delphi多年来一直没有什么起色,处于相当被动的地位。现在,是Anders回归Delphi怀抱的...

红薯 ⋅ 2009/05/08 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 20分钟前 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 27分钟前 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 30分钟前 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 32分钟前 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 33分钟前 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 37分钟前 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 45分钟前 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 54分钟前 ⋅ 0

vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、一般模式下复制粘贴剪切

VIM Vim 是 UNIX 文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff),语法高亮,全面的帮助系统,本地脚本(Vimscript),和便于选择的...

蛋黄Yolks ⋅ 今天 ⋅ 0

springboot+mockito测试controller层遇到的问题

使用MockitoJUnitRunner测试的一个例子,原来报错无法找到bean, 类似的异常如下:createBeanError..... 原因:是因为@Runwith使用了SpringRunner,应该修改为MockitoJUnitRunner 代码如下: ...

writeademo ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部