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

📄 getpyf.pas

📁 输入汉字取得拼音和五笔。 主要是汉字数据库有些用。
💻 PAS
字号:
unit GetPYF;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, SUIButton, SUIEdit, ExtCtrls, SUIForm,
  SUIDlg;

type
  TForm1 = class(TForm)
    suiForm1: TsuiForm;
    Label1: TLabel;
    Label2: TLabel;
    Edit_PY: TsuiEdit;
    Conn: TADOConnection;
    MsgBox: TsuiMessageDialog;
    Edit_S: TsuiEdit;
    suiButton1: TsuiButton;
    Query: TADOQuery;
    Label3: TLabel;
    Edit_WB: TsuiEdit;
    procedure FormCreate(Sender: TObject);
    procedure suiButton1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Edit_SKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  application.Title := self.Caption;
  conn.Close;
  if not FileExists(ExtractFilePath(application.ExeName)+ '\db.mdb') then
  begin
    MsgBox.Text := '数据文件没有找到!';
    application.Terminate;
  end;
  conn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + ExtractFilePath(application.ExeName)+ '\db.mdb;Persist Security Info=False';
  try
    conn.Open;
  except
    on e: Exception do
    begin
      MsgBox.Text := '连接数据文件失败! 具体错误信息:' + e.Message;
      application.Terminate;
    end;
  end;
end;

procedure TForm1.suiButton1Click(Sender: TObject);
begin
  Edit_PY.Text := '';
  Edit_WB.Text := '';
  if not conn.Connected  or (Trim(Edit_S.Text) = '')  then
  begin
    Edit_S.SelectAll;
    Edit_S.SetFocus;
    exit;
  end;
  if Length(Trim(Edit_S.Text)) <> 2 then
  begin 
      MsgBox.Text := '请输入汉字!';
      Edit_S.SelectAll;
      Edit_S.SetFocus;
      exit;
  end;
  try
    Query.Close;
    Query.SQL.Text := 'Select [全拼] as PY, [五笔] as WB FROM GBK WHERE [汉字]= '''+ Trim(Edit_S.Text) + '''';
    Query.Open;
    if Query.RecordCount > 0 then
    begin
      Query.First;
      Edit_PY.Text := Query.FieldByName('PY').AsString;
      Edit_WB.Text := Query.FieldByName('WB').AsString;
    end;
  finally
    Query.Close;
    Edit_S.SelectAll;
    Edit_S.SetFocus;
  end;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Query.close;
  conn.close;
end;

procedure TForm1.Edit_SKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = 13 then
     suiButton1Click(nil);
end;

end.

⌨️ 快捷键说明

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