⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 一个以前写的东东
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, XPMan, StdCtrls, Buttons, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    XPManifest1: TXPManifest;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    GroupBox2: TGroupBox;
    Memo2: TMemo;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    wl_glossary: TComboBox;
    wl_srclang: TComboBox;
    wl_trglang: TComboBox;
    GroupBox4: TGroupBox;
    Button4: TButton;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Button5: TButton;
    Button6: TButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    http: TIdHTTP;
    SaveDialog1: TSaveDialog;
    function GetHex(const aStr: string): string;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Memo2Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.SetFocus;
If Memo1.SelLength = 0 then
   Memo1.SelectAll;
   Memo1.CopyToClipboard;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.SetFocus;
Memo1.PasteFromClipboard;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Memo1.Text := '';
BitBtn1.Enabled := False;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
If Memo1.Text <> '' then
    begin
    Button1.Enabled := True;
    Button3.Enabled := True;
    BitBtn1.Enabled := True;
    RadioButton1.Enabled := True;
    end
   else
    begin
    Button1.Enabled := False;
    Button3.Enabled := False;
    BitBtn1.Enabled := False;
  //  RadioButton1.Checked := False;
    RadioButton1.Enabled := False;
    end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Memo2.SetFocus;
Memo2.SelectAll;
Memo2.CopyToClipboard;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Memo2.Text := '';
RadioButton2.Enabled := False;
RadioButton3.Enabled := False;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
    s, s1: TStringStream;
    gl,srl,trl,ss:String;
    Inicial,Final: Integer;
begin
    Case wl_glossary.ItemIndex of
        0:      gl := 'gl1';
        1:      gl := 'gl2';
        2:      gl := 'gl3';
        3:      gl := 'gl4';
        4:      gl := 'gl5';
        5:      gl := 'gl6';
        6:      gl := 'gl7';
        7:      gl := 'gl8';
        8:      gl := 'gl9';
        9:      gl := 'gl10';
        10:     gl := 'gl11';
        11:     gl := 'gl12';
        12:     gl := 'gl13';
        13:     gl := 'gl14';
        14:     gl := 'gl15';
        15:     gl := 'gl16';
        16:     gl := 'gl17';
        17:     gl := 'gl18';
        18:     gl := 'gl19';
        19:     gl := 'gl20';
        20:     gl := 'gl21';
    end;
    Case wl_srclang.ItemIndex of
        0:      srl := 'none';
        1:      srl := 'EN';
        2:      srl := 'ZH_CN';
        3:      srl := 'ZH_TW';
        4:      srl := 'NL';
        5:      srl := 'FR';
        6:      srl := 'DE';
        7:      srl := 'EL';
        8:      srl := 'IT';
        9:      srl := 'JA';
        10:     srl := 'KO';
        11:     srl := 'PT';
        12:     srl := 'RU';
        13:     srl := 'ES';
     end;
     Case wl_trglang.ItemIndex of
        0:      trl := 'none';
        1:      trl := 'EN';
        2:      trl := 'ZH_CN';
        3:      trl := 'ZH_TW';
        4:      trl := 'NL';
        5:      trl := 'FR';
        6:      trl := 'DE';
        7:      trl := 'EL';
        8:      trl := 'IT';
        9:      trl := 'JA';
        10:     trl := 'KO';
        11:     trl := 'PT';
        12:     trl := 'RU';
        13:     trl := 'ES';
     end;
    if (srl='none') then
    begin
    showmessage('请选择原文语言!');
    exit;
    end;
    if (trl='none') then
    begin
    showmessage('请选择译文语言!');
    exit;
    end;
    if (srl=trl) then
    begin
    showmessage('原文语言和译文语言不能相同!');
    exit;
    end;
    s := TStringStream.Create('');
    s1 := TStringStream.Create('');
    s.WriteString('wl_url=&wl_text='+GetHex(AnsiToUtf8(memo1.Text))+'&wl_glossary='+gl+'&wl_srclang='+srl+'&wl_trglang='+trl+'&wl_ucp=1');
    //s.WriteString('wl_url=&wl_text='+AnsiToUtf8(memo1.Text)+'&wl_glossary='+gl+'&wl_srclang='+srl+'&wl_trglang='+trl+'&wl_ucp=1');
    http.Request.ContentType := 'application/x-www-form-urlencoded';
    try
      http.Post('http://www.worldlingo.com/wl/translate', s, s1)
      except
      http.Get(http.Response.Location, s1);
    end;
   // ss:=s1.ReadString;
    Inicial := Pos('"wl_result"',s1.DataString)+125;    //获得文本框开头文本
    Final   := Pos('</textarea>',s1.DataString);        //获得文本框结尾
    ss := Copy(s1.DataString,Inicial,Final-Inicial);
    Memo2.Lines.Text := Utf8Toansi(ss);
end;

function TForm1.GetHex(const aStr: string): string;
var
  i: Integer;
begin
  for i := 1 to Length(aStr) do
  begin
    Result := Result + '%' + Format('%.2x', [Ord(aStr[i])]);
  end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.Memo2Change(Sender: TObject);
begin
If Memo2.Text <> '' then
    begin
    Button5.Enabled := True;
    Button6.Enabled := True;
    Button4.Enabled := True;
    RadioButton2.Enabled := True;
    RadioButton3.Enabled := True;
    end
   else
    begin
    Button5.Enabled := False;
    Button6.Enabled := False;
    Button4.Enabled := False;
  //  RadioButton1.Checked := False;
    RadioButton2.Enabled := False;
    RadioButton3.Enabled := False;
    end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form2.ShowModal;
end;

procedure TForm1.Button4Click(Sender: TObject);
Var
st:TStringList;
begin
   st := TStringList.Create();
   st.Text :='以下为原文内容:'+#13+#10+'原文语言:'+wl_srclang.Text+#13+#10+ Memo1.Text+#13+#10;
   st.Text :=st.Text+#13+#10+'以下为译文内容:'+#13+#10+'译文语言:'+wl_trglang.Text+#13+#10 + Memo2.Text;
If RadioButton1.Checked and SaveDialog1.Execute then
   Memo2.Lines.SaveToFile(SaveDialog1.Filename);
If RadioButton2.Checked and SaveDialog1.Execute then
   Memo2.Lines.SaveToFile(SaveDialog1.FileName);
If RadioButton3.Checked and SaveDialog1.Execute then
   st.SaveToFile(SaveDialog1.FileName);
   st.Free;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -