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

📄 makepy01.pas

📁 在查询汉字拼音首字母时需要取得汉字的拼音
💻 PAS
字号:
unit MakePY01;
{拼音字母生成程序}
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button2: TButton;
    Button4: TButton;
    ListBox1: TListBox;
    Query1: TQuery;
    DataSource1: TDataSource;
    Button1: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1Enter(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Query1BeforeDelete(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Query1.Open;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Query1.Close;
end;

procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
  DBGrid1.Hint := Format('记录数量:%d', [DBGrid1.DataSource.DataSet.RecordCount]);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.Button4Click(Sender: TObject);
Var
  S: String;
begin
  Query1.Open;
  Query1.First;
  ListBox1.Clear;
  ListBox1.Items.BeginUpdate;
  DBGrid1.DataSource := DataSource1;
  Query1.DisableControls;
  S := Query1['汉字'];
  Query1.Next;
  Repeat
//    Showmessage(S + '::' + Query1['Code']);
    if S = Query1['汉字'] then Begin
      ListBox1.Items.Add(S);
    End;
    S := Query1['汉字'];
    Query1.Next;
  Until Query1.Eof;
  ListBox1.Hint := Format('记录数量:%d', [ListBox1.Count]);
  Query1.EnableControls;
  ListBox1.Items.EndUpdate;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Query1.Locate('汉字', ListBox1.Items[ListBox1.ItemIndex], []);
  Query1.Next;
  DBGrid1.SetFocus;
  DBGrid1.SelectedIndex := 1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  N: Word;
begin
  N := ListBox1.ItemIndex;
  if N > 0 then Exit;
  ListBox1.Items.Delete(ListBox1.ItemIndex);
  Query1.Delete;
  ListBox1.ItemIndex := N;
  ListBox1Click(Self);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  i, j: integer;
  S: String;
begin
  query1.Open;
  query1.DisableControls;
  for i := 15 to 87 do begin
  for j := 0 to 93 do
  Begin
    S := char($a1 + i) + char($a1 + j);
    if not query1.Locate('汉字', s, []) then Begin
      ListBox1.Items.Add(Format('汉字:%s, 区位码:%d-%d', [S, I, J]));
    End;
  End;
  end;
  query1.EnableControls;
end;

procedure TForm1.Query1BeforeDelete(DataSet: TDataSet);
begin
  Abort;
end;

end.

⌨️ 快捷键说明

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