function TForm1.yHzToPy(HZ: string): char;
begin
  case Word(HZ[1])shl 8+Word(HZ[2]) of
    $B0A1..$B0C4:result:='A';
    $B0C5..$B2C0:result:='B';
    $B2C1..$B4ED:result:='C';
    $B4EE..$B6E9:result:='D';
    $B6EA..$B7A1:result:='E';
    $B7A2..$B8C0:result:='F';
    $B8C1..$B9FD:result:='G';
    $B9FE..$BBF6:result:='H';
    $BBF7..$BFA5:result:='J';
    $BFA6..$C0AB:result:='K';
    $C0AC..$C2E7:result:='L';
    $C2E8..$C4C2:result:='M';
    $C4C3..$C5B5:result:='N';
    $C5B6..$C5BD:result:='O';
    $C5BE..$C6D9:result:='P';
    $C6DA..$C8BA:result:='Q';
    $C8BB..$C8F5:result:='R';
    $C8F6..$CBF9:result:='S';
    $CBFA..$CDD9:result:='T';
    $CDDA..$CEF3:result:='W';
    $CEF4..$D188:result:='X';
    $D189..$D4D0:result:='Y';
    $D4D1..$D7F9:result:='Z';
  else
    result:=char(32);
  end;
end;procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  i:integer;
  s:string;
begin
  s:='';
  i:=1;
  edit2.Clear;
  while i<Length(edit1.Text) do
  begin
    s:=Copy(edit1.Text,i,2);
    if s>=Chr(128) then begin
      i:=i+2;
      edit2.Text:=edit2.Text+yHZToPY(s);
    end;
  end;
end;end.

解决方案 »

  1.   

    procedure Tyu.FormCreate(Sender: TObject);
    begin
      N21.Caption:=chr(13);
    end;procedure Tyu.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      AnimateWindow(Handle,300,AW_Hide or 16);
    end;procedure Tyu.N11Click(Sender: TObject);
    var rgn:HRGN;
    begin
      BeginPath(Canvas.Handle);
      SetBKMode(Canvas.Handle,TRANSPARENT);
      Canvas.Font.Name:='楷体_GB2312';
      Canvas.Font.Size:=100;
      Canvas.TextOut(79,79,'陈中雨');
      EndPath(Canvas.Handle);
      rgn:=PathToRegion(Canvas.Handle);
      SetWindowRgn(Handle,rgn,true);
    end;procedure Tyu.FormActivate(Sender: TObject);
    begin
      //AnimateWindow(Handle,500,AW_Slide or 16);//AnimateWindow(Handle,500,1);
    end;procedure Tyu.N21Click(Sender: TObject);
    begin
      brush.Style:=bsclear;
      borderstyle:=bsnone;
    end;procedure Tyu.CMEraseBkgnd(var message: TWMEraseBkgnd);
    begin
      brush.Style:=bsclear;
      inherited;
    end;procedure Tyu.sun1Click(Sender: TObject);
    begin
      Image2.Canvas.Brush.Style := bsClear;
      Image2.Canvas.Font.Color:=clblue;
      Image2.Canvas.Font.Size:=11;
      Image2.Canvas.Font.Name:='楷体_GB2312';
      Image2.Canvas.TextOut(10, 10,'我们在天堂相逢');
    end;procedure Tyu.SpeedButton1Click(Sender: TObject);
    begin
      Application.Terminate;
    end;procedure Tyu.SpeedButton2Click(Sender: TObject);
    var
      ptArray : array[0..9] of TPOINT;
      PtCounts : array[0..1] of integer;
    begin
      PtArray[0] := Point(0,   0);
      PtArray[1] := Point(0,  100);
      PtArray[2] := Point(100, 100);
      PtArray[3] := Point(100,  0);
      PtArray[4] := Point(0,   0);
      PtCounts[0] := 5;
      PtArray[5] := Point(25, 25);
      PtArray[6] := Point(25, 75);
      PtArray[7] := Point(75, 75);
      PtArray[8] := Point(75, 25);
      PtArray[9] := Point(25, 25);
      PtCounts[1] := 5;
      PolyPolygon(yu.Canvas.Handle,PtArray,PtCounts,2);
    end;
    procedure Tyu.SpeedButton3Click(Sender: TObject);
    begin
      Canvas.Font.Name := 'Times New Roman'; //这里的字体一定要是TrueType Font
      Canvas.Font.size := 26;
      Canvas.Font.style := [fsItalic,fsBold];
      beginpath(canvas.handle); //开始捕获 Canvas上绘制的轮廓
      SetBkMode( Canvas.Handle, TRANSPARENT );
      canvas.TextOut(79,81,'never to forget');
      endpath(canvas.handle); //结束捕获
      Canvas.Pen.Color := $00F1EFA0;
      StrokePath(canvas.handle); //将捕获的轮廓用当前的Pen画到Canvas上
    end;end.