zoukankan      html  css  js  c++  java
  • 用JSON 和 Google 实现全文翻译

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Memo2: TMemo;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses MsXML, SuperObject;
    
    //字符串到 UTF8 编码的函数, 用于 Google 地址
    function ToUTF8Encode(str: string): string;
    var
      b: Byte;
    begin
      for b in BytesOf(UTF8Encode(str)) do
        Result := Format('%s%s%.2x', [Result, '%', b]);
    end;
    
    //翻译函数
    function Translate(str, RequestLanguage, ResultLanguage: string): string;
    const
      BaseUrl = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=';
    var
      Url: string;
      jo: ISuperObject;
      req: IXMLHTTPRequest;
    begin
      Url := BaseUrl + ToUTF8Encode(str) + '&langpair=' + RequestLanguage + '%7C' + ResultLanguage;
      req := CoXMLHTTP.Create;
      req.open('Get', Url, False, EmptyParam, EmptyParam);
      req.send(EmptyParam);
      jo := SO(req.responseText);
      Result := jo.Format('%responseData.translatedText%');
    end;
    
    //英译汉
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Memo2.Text := Translate(Memo1.Text, 'en', 'zh-cn');
    end;
    
    //汉译英
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Memo1.Text := Translate(Memo2.Text, 'zh-cn', 'en');
    end;
    
    end.

    http://www.cnblogs.com/jxgxy/archive/2010/01/25/1655821.html

  • 相关阅读:
    非循环单链表节点的操作
    链表每一个节点的数据类型该如何表示
    链表的定义、确定一个链表需要几个参数?
    typedef的用法
    连续存储数组的算法(包含数组倒置、冒泡排序……)
    跨函数使用内存案例
    malloc()动态分配内存概述
    结构体
    指针和数组
    C#基础知识之dnSpy反编译
  • 原文地址:https://www.cnblogs.com/findumars/p/4964825.html
Copyright © 2011-2022 走看看