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

📄 unit7.pas

📁 进行图纸的资料归档及管理
💻 PAS
字号:
unit Unit7;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, teBlend,ExtCtrls, ComCtrls, teForm;

type
  Twzmcdialog = class(TForm)
    Panel1: TPanel;
    search: TEdit;
    Label1: TLabel;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel3: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ResultList: TListBox;
    sourcelist: TListBox;
    Label2: TLabel;
    hzsearch: TEdit;
    FormTransitions1: TFormTransitions;
    BitBtn3: TBitBtn;
    procedure searchChange(Sender: TObject);
    procedure hzsearchChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    text:string;
    filenames:string;
    function execute:boolean;
  end;

var
  wzmcdialog: Twzmcdialog;
implementation
uses TransEff, teWipe, mmSystem;
{$R *.DFM}

function GetPYIndexChar( hzchar:string):char;
begin
  case WORD(hzchar[1]) shl 8 + WORD(hzchar[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';
    $D1B9..$D4D0 : result := 'Y';
    $D4D1..$D7F9 : result := 'Z';
  else
    result := char(0);
  end;
end;

function SearchByPYIndexStr
( SourceStrs:TStrings;
 PYIndexStr:string):string;
label NotFound;
var
  i, j   :integer;
  hzchar :string;
begin
  for i:=0 to SourceStrs.Count-1 do
    begin
      for j:=1 to Length(PYIndexStr) do
        begin
          hzchar:=SourceStrs[i][2*j-1]+SourceStrs[i][2*j];
          if (PYIndexStr[j]<>'?') and (UpperCase(PYIndexStr[j]) <>
                    GetPYIndexChar(hzchar)) then goto NotFound;
        end;
      if result='' then result := SourceStrs[i]
      else result := result + Char
(13) + SourceStrs[i];
NotFound:
    end;
end;

function SearchByHZIndexStr
( SourceStrs:TStrings;
 HZIndexStr:string):string;
var
  i, j ,k  :integer;
  temp :string;
begin
  k:=length(HZIndexStr);
  for i:=0 to SourceStrs.Count-1 do
    begin
      for j:=1 to Length(sourcestrs.strings[i])-k do
        begin
            if copy(sourcestrs.strings[i],j-1,k)=HZIndexStr then
               begin
               temp :=SourceStrs.Strings[i];
               break;
               end
            else
               temp:=''
        end;
    if temp<>'' then
    result :=result+ Char(13) + SourceStrs.Strings[i];
    end;
end;

function twzmcdialog.execute;
var
  FModalResult: Integer;
begin
  FModalResult := ShowModal;
  if FModalResult=MrOK then
  begin
   IF PageControl1.ACTIVEPAGE=TabSheet1 THEN
      BEGIN
      if ResultList.itemindex<>-1 then
       begin
       text:=ResultList.items[ResultList.itemindex];
       result:=true;
       end
      else
       result:=false;
      END
   ELSE
      BEGIN
      if SOURCEList.itemindex<>-1 then
       begin
       text:=SOURCELIST.items[SOURCELIST.itemindex];
       result:=true;
       end
      else
       result:=false;
      END;
  end;
  if FModalResult=MrCancel then
  begin
     result:=false;
  end;
end;

procedure Twzmcdialog.searchChange(Sender: TObject);
var ResultStr:string;
begin
  ResultStr:='';
  ResultList.Items.Text := SearchByPYIndexStr
(Sourcelist.Items, Search.Text);
end;



procedure Twzmcdialog.hzsearchChange(Sender: TObject);
var ResultStr:string;
begin
ResultStr:='';
ResultList.Items.Text := SearchByHZIndexStr
(Sourcelist.Items, hzsearch.Text);
end;

procedure Twzmcdialog.FormShow(Sender: TObject);
var
TransEffct:TBlendTransition;
begin
TransEffct := TBlendTransition.Create;
TransEffct.FlickerFreeWhenDisabled := True;
TransEffct.Milliseconds := 200;
FormTransitions1.ShowTransition := TransEffct;
END;

procedure Twzmcdialog.FormCreate(Sender: TObject);
begin
//Sourcelist.Items.loadfromfile('wz_name.txt');
end;

procedure Twzmcdialog.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SOURCELIST.items.savetofile(filenames);
action:=cafree;
end;

procedure Twzmcdialog.BitBtn3Click(Sender: TObject);
var s:string;
begin
s:=inputbox('增加数据项目','内容:','');
if length(s)<>0 then
   SOURCELIST.items.add(s);
end;

end.

⌨️ 快捷键说明

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