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

📄 mhcxunit.pas

📁 宁夏中药管理系统,在其它的基础上改的,将他人没有完成的功能补上
💻 PAS
字号:
unit MHCXUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ToolWin, ComCtrls, ExtCtrls, StdCtrls, Grids, DBGrids,
  DBCtrls, Mask, DB, ADODB;

type
  TMHCXfrm = class(TForm)
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Bevel1: TBevel;
    GroupBox2: TGroupBox;
    Bevel2: TBevel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    CBXwei: TComboBox;
    CBGjing: TComboBox;
    ComboBox6: TComboBox;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    GroupBox3: TGroupBox;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    DBGrid1: TDBGrid;
    TreeView1: TTreeView;
    Label5: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBMemo1: TDBMemo;
    DBMemo2: TDBMemo;
    DBMemo3: TDBMemo;
    DBMemo4: TDBMemo;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    Label16: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label17: TLabel;
    DBEdit6: TDBEdit;
    Button2: TButton;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    ADOTable2: TADOTable;
    Edit3: TEdit;
    Label18: TLabel;
    procedure SpeedButton4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MHCXfrm: TMHCXfrm;

  nYaoLei,nYaoMing:TTreeNode; //定义结点类
implementation

uses mainfrm,FenLeiCXunit;

{$R *.dfm}

procedure TMHCXfrm.SpeedButton4Click(Sender: TObject);
begin
    MHCXfrm.Close;
end;

procedure TMHCXfrm.FormCreate(Sender: TObject);
begin
  //ADOConnection1.ConnectionString:=mainfrm.connstr;
end;

procedure TMHCXfrm.TreeView1Click(Sender: TObject);
var ls1,ls2:string;
    m,n:integer;
begin
 for n:=0 to  treeview1.Items.Count-1 do
 begin
  if  treeview1.Items[n].Selected=true then
  begin
   with ADOquery1 do
   begin
    ls2:=treeview1.Items[n].Text ;
    ls2:=trim(ls2);
    close;
    sql.Clear;
    sql.Add('select * from Zcyt2 where 中药名='''+ls2+'''');
    open;
   end;
  end;
 end;
{if treeview1.Selected.Level=1 then
begin
     with ADOQuery2 do
     begin
       close;
       sql.Clear;
       sql.Add('select * from zcyt2 where 中药名=:yname');
       parameters.parambyname('yname').Value:=treeview1.Selected.Text;
       open;
       edit1.Text:=FieldValues ['YaoLei'];
       edit2.Text:=treeview1.Selected.Text;
       dbedit1.Text:=FieldValues ['药名拼音'];
       dbedit2.Text:=FieldValues ['英文名'];
       dbedit6.Text:=FieldValues ['用法与用量'];
       dbedit3.Text:=FieldValues ['贮藏'];
       dbedit4.Text:=FieldValues ['注意'];
       dbedit5.Text:=FieldValues ['炮制'];
       dbmemo1.Text:=FieldValues ['简述'];
       dbmemo2.Text:=FieldValues ['性状'];
       dbmemo3.Text:=FieldValues ['性味与归经'];
       dbmemo4.Text:=FieldValues ['功能与主治'];
     end;
end;   }

end;

procedure TMHCXfrm.Button2Click(Sender: TObject);
begin
  treeview1.Items.Clear ;
  with ADOquery1 do
begin
   close;
   sql.Clear;
   sql.Add('select * from  YLBBiao');
   open;
end;
   while not ADOquery1.Eof do
    begin
    nYaoMing:=treeview1.Items.Add(nYaoLei,ADOquery1.FieldValues ['YaoLeibie']);
     with ADOquery2 do
    begin
       close;
       sql.Clear;
       sql.Add('select * from Zcyt2 where YaoLei=:YLname');
       parameters.ParamByName('YLname').Value:=ADOquery1.FieldValues['YaoLeibie'];
       open;
    end;
     while not ADOquery2.Eof do
      begin
       TreeView1.Items.AddChildFirst(nYaoMing,ADOquery2.FieldValues ['中药名']) ;
       ADOquery2.next;
      end;
   ADOquery1.Next;
end;
//adotable1.Close;
//adotable1.TableName :='zcyt2';
//adotable1.active:=true;
//datasource1.DataSet:=adotable1;
//dbgrid1.DataSource :=datasource1;
//dbnavigator1.DataSource :=datasource1;
end;

procedure TMHCXfrm.Button1Click(Sender: TObject);
var
  findflag:boolean;      //是否找到的标志
  str_source:pchar;      //查找的源字符串
  str_find:pchar;        //待查找的字符串
  findstr1,findstr2,findstr3,findstr4,findstr5,findstr6,findstr7,findstr8:pchar;
  sourcestr1,sourcestr2,sourcestr3,sourcestr4,sourcestr5,sourcestr6,sourcestr7,sourcestr8:string;
  sourcestr:pchar;
  sj11,sj22,sj33,sj44,sj55,sj66,sj77,sj88,sj99,sj10,sj111,sj12:string;
  sj:array[1..6] of string;
  gs:integer;
begin
   gs:=0;
   adoquery2.Close;
   adoquery2.SQL.Clear ;
   adoquery2.SQL.Add('delete  from ls');
   adoquery2.ExecSQL  ;
   adoquery2.Close;
   findstr1:=pchar(trim(combobox1.Text));
   findstr2:=pchar(trim(combobox2.Text));
   findstr3:=pchar(trim(CBXwei.Text));
   findstr4:=pchar(trim(CBGjing.Text));
   findstr1:=pchar(trim(edit3.Text));
   ADOTable1.First;
   findflag:=false;     //置是否找到标志为否,即尚未找到
   while(not ADOTable1.Eof)do  //循环查找
   begin
 {  中药名
药名拼音
英文名
YaoLei
简述
性状
性味与归经
功能与主治
用法与用量
注意
贮藏
炮制    }
          sj11:=trim(ADOTable1.FieldByName('中药名').AsString);
          sj22:=trim(ADOTable1.FieldByName('药名拼音').AsString);
          sj33:=trim(ADOTable1.FieldByName('英文名').AsString);
          sj44:=trim(ADOTable1.FieldByName('YaoLei').AsString);
          sj55:=trim(ADOTable1.FieldByName('简述').AsString);
          sj66:=trim(ADOTable1.FieldByName('性状').AsString);
          sj77:=trim(ADOTable1.FieldByName('性味与归经').AsString);
          sj88:=trim(ADOTable1.FieldByName('功能与主治').AsString);
          sj99:=trim(ADOTable1.FieldByName('用法与用量').AsString);
          sj10:=trim(ADOTable1.FieldByName('注意').AsString);
          sj111:=trim(ADOTable1.FieldByName('贮藏').AsString);
          sj12:=trim(ADOTable1.FieldByName('炮制').AsString);
          //sourcestr1:=trim(ADOTable1.FieldByName('性状').AsString);
          //sourcestr2:=trim(ADOTable1.FieldByName('性味与归经').AsString);
          //sourcestr3:=trim(ADOTable1.FieldByName('功能与主治').AsString);
          sourcestr:=pchar(sj11+sj22+sj33+sj44+sj55+sj66+sj77+sj88+sj99+sj10+sj111+sj12);
          if trim(combobox6.text)='OR' then
          begin
            //if (StrPos(PChar(sourcestr),PChar(findstr1))<>nil) or (StrPos(PChar(sourcestr),PChar(findstr2))<>nil) or (StrPos(PChar(sourcestr),PChar(findstr3))<>nil) then  //查找函数
            if (StrPos(PChar(sourcestr),PChar(findstr1))<>nil)  then  //查找函数
             findflag:=true    //若找到,置标志为真
            else
            BEGIN
             findflag:=FALSE;
            END;
          end
          else
          begin
            //if (StrPos(PChar(sourcestr1),PChar(findstr1))<>nil) and (StrPos(PChar(sourcestr1),PChar(findstr2))<>nil) and (StrPos(PChar(sourcestr1),PChar(findstr3))<>nil) then  //查找函数
            if (StrPos(PChar(sourcestr),PChar(findstr1))<>nil)  then
             findflag:=true    //若找到,置标志为真
            else
            BEGIN
             findflag:=FALSE;
            END;
          end;
          if findflag=false then   //若找到,提示
          begin
            //ShowMessage('没找到')
          end
          else
          begin
             //ShowMessage('找到了');  //若未找到,也给与提示
             ///  adotable2.InsertRecord([sj11,sj22,sj33,sj44,sj55,sj66]);
             adoquery2.Close;
             adoquery2.SQL.Clear ;
             adoquery2.SQL.Add('insert into ls (药名:) values ('''+sj11+''')');
             adoquery2.ExecSQL ;
             gs:=gs+1;
          end;
             ADOTable1.Next;   //表指针下移
   end;
   //adotable2.active:=false;
   if gs=0 then
   showmessage('没找到');
   adoquery2.Close;
   adoquery2.SQL.Clear ;
   adoquery2.SQL.Add('select * from ls');
   adoquery2.Open ;
   adoquery2.Active :=true;
end;

procedure TMHCXfrm.DBGrid1CellClick(Column: TColumn);
var selectsj:string;
begin
 selectsj:=dbgrid1.SelectedField.AsString;
 selectsj:=trim(selectsj);
 with ADOQuery1 do
  begin
       close;
       sql.Clear;
       sql.Add('select * from zcyt2 where 中药名=:yname');
       parameters.parambyname('yname').Value:=selectsj;
       open;
  end;
end;

procedure TMHCXfrm.FormShow(Sender: TObject);
begin
adotable1.Close;
adotable1.TableName :='zcyt2';
adotable1.active:=true;
end;

end.

⌨️ 快捷键说明

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