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

📄 fenleicxunit1.pas

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

interface

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

type
  TFenLeiCXfrm1 = class(TForm)
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Panel1: TPanel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    GroupBox1: TGroupBox;
    Bevel4: TBevel;
    RadioGroup1: TRadioGroup;
    Bevel5: TBevel;
    GroupBox2: TGroupBox;
    Panel2: TPanel;
    Edit1: TEdit;
    Button1: TButton;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    TreeView1: TTreeView;
    DBText1: TDBText;
    Label1: TLabel;
    DBText2: TDBText;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBMemo1: TDBMemo;
    DBMemo2: TDBMemo;
    DBMemo3: TDBMemo;
    DBMemo4: TDBMemo;
    Bevel3: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    Button2: TButton;
    Button3: TButton;
    ADOTable1: TADOTable;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FenLeiCXfrm1: TFenLeiCXfrm1;
  sysdir:string;
  nYaoLei,nYaoMing:TTreeNode; //定义结点类
implementation
uses  mainfrm;
{$R *.dfm}

procedure TFenLeiCXfrm1.FormCreate(Sender: TObject);
begin
 //连接数据库
  //ADOConnection1.ConnectionString:=mainfrm.ConnStr;
  //获取应用程序绝对路径
  sysdir := GetCurrentDir;
end;

procedure TFenLeiCXfrm1.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;
end;

procedure TFenLeiCXfrm1.Button1Click(Sender: TObject);
var ls1,ls2:string;
    m,n:integer;
begin
if trim(edit1.Text )='' then
begin
 showmessage('请输入查询数据');
 exit;
end;
{with ADOquery2 do
begin
 close;
 sql.Clear;
 sql.Add('select * from Zcyt2');
 open;
end;    }
 with ADOquery1 do
 begin
    ls2:=edit1.Text ;
    ls2:=trim(ls2);
    close;
    sql.Clear;
    if radiogroup1.ItemIndex=0 then
    sql.Add('select * from Zcyt2 where 中药名='''+ls2+'''');
    if radiogroup1.ItemIndex=1 then
    sql.Add('select * from Zcyt2 where 性味与归经='''+ls2+'''');
    if radiogroup1.ItemIndex=2 then
    sql.Add('select * from Zcyt2 where 功能与主治='''+ls2+'''');
    if radiogroup1.ItemIndex=3 then
    sql.Add('select * from Zcyt2 where 中药名='''+ls2+'''');
//    按药材名称查询
//按性味查询
//按功能与主治查询
//按化学成分查询
    //sql.Add('select * from Zcyt2 where 中药名='''+ls2+'''');
    open;
  end;   
end;

procedure TFenLeiCXfrm1.Button2Click(Sender: TObject);
var ls,ls1:string;
     n:integer;
     label continue1;
begin
   treeview1.Items.Clear ;
   with ADOquery1 do
   begin
    close;
    sql.Clear;
    sql.Add('select * from Zcyt2  order by yaolei');
    open;
   end;
   while not ADOquery1.Eof do
   begin
     ls:=trim(ADOquery1.FieldByName('YaoLei').AsString);
     for n:=0 to  treeview1.Items.Count-1 do
     begin
      ls1:=treeview1.Items[n].Text ;
      ls1:=trim(ls1);
      if ls=ls1 then
      goto continue1;
     end;
     nYaoMing:=treeview1.Items.Add(nYaoLei,ls);
     with ADOquery2 do
      begin
       close;
       sql.Clear;
       sql.Add('select * from Zcyt2 where YaoLei='''+ls+'''');
       //sql.Add('select * from Zcyt2 where YaoLei=:YLname');
       //parameters.ParamByName('YLname').Value:=ADOquery1.FieldByName('YaoLei').Value;
       open;
      end;
      while not ADOquery2.Eof do
      begin
       TreeView1.Items.AddChildFirst(nYaoMing,ADOquery2.fieldbyname('中药名').asstring) ;
       ADOquery2.next;
      end;
      continue1: ADOquery1.Next;
    end;
   ADOquery2.Close ;

end;

procedure TFenLeiCXfrm1.Button3Click(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;
  gs:integer;
  sj:array[1..6] of string;
begin
   gs:=0;
   adoquery2.Close;
   adoquery2.SQL.Clear ;
   adoquery2.SQL.Add('delete  from ls');
   adoquery2.ExecSQL  ;
   adoquery2.Close;
   findstr1:=pchar(trim(edit1.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('英文名').AsString);
          sj55:=trim(ADOTable1.FieldByName('YaoLei').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);
          sourcestr:=pchar(sj11+sj22+sj33+sj44+sj55+sj66+sj77+sj88+sj99+sj10+sj111+sj12);
          if (StrPos(PChar(sourcestr),PChar(findstr1))<>nil)  then  //查找函数
          findflag:=true    //若找到,置标志为真
          else
             findflag:=FALSE;
          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;
   if gs=0 then
   ShowMessage('没找到');
   //adotable2.active:=false;
   adoquery2.Close;
   adoquery2.SQL.Clear ;
   adoquery2.SQL.Add('select * from ls');
   adoquery2.Open ;
   adoquery1.Active :=true;
   //datasource2.DataSet:=ls;
   dbgrid1.DataSource :=datasource2;
end;

procedure TFenLeiCXfrm1.FormShow(Sender: TObject);
begin
adotable1.Close;
adotable1.TableName :='zcyt2';
adotable1.active:=true;
//datasource1.DataSet:=adotable1;
//dbgrid1.DataSource :=datasource1;
end;

procedure TFenLeiCXfrm1.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;

end.

⌨️ 快捷键说明

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