ypxx.pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 209 行

PAS
209
字号
unit YPXX;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RVClass,RVProj,RVCsStd,ComCtrls, DB, ADODB, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
  ExtCtrls, RpCon, RpConDS, RpDefine, RpRave;

type
  TYPXXFrm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    DBNavigator1: TDBNavigator;
    DBEdit1: TDBEdit;
    Button1: TButton;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    Label2: TLabel;
    Label3: TLabel;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    ADOTable2: TADOTable;
    ADOTable3: TADOTable;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    StringGrid1: TStringGrid;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YPXXFrm: TYPXXFrm;
  count:integer;

implementation

uses Main;

{$R *.dfm}

procedure TYPXXFrm.Button1Click(Sender: TObject);
begin
    YPXXFrm.Hide ;
end;

procedure TYPXXFrm.TabSheet1Show(Sender: TObject);
var i:integer;
begin
  DBgrid1.Columns.Clear;
  for i:=1 to 4 do
    begin
      DBgrid1.Columns.add;
    end;
  DBgrid1.Columns[1].Width:=100;
  DBgrid1.Columns[2].Width:=100;
  DBgrid1.Columns[3].Width:=100;
  DBgrid1.Columns[0].Title.caption:='药品编号';
  DBgrid1.Columns[1].Title.caption:='药品名称';
  DBgrid1.Columns[2].Title.caption:='计量单位';
  DBgrid1.Columns[3].Title.caption:='药品类别';
  DBgrid1.Columns[0].FieldName:='YPBH';
  DBgrid1.Columns[1].FieldName:='YPMC';
  DBgrid1.Columns[2].FieldName:='JLDW';
  DBgrid1.Columns[3].FieldName:='YPLB';
   
end;

procedure TYPXXFrm.FormCreate(Sender: TObject);
begin
  
   ADOtable2.first;
   while not ADOtable2.eof do
      begin
       dbcombobox1.items.insert(-1,ADOtable2.fieldbyname('DWMC').asstring);
       ADOtable2.Next;
      end;

   ADOtable3.first;
   while not ADOtable3.eof do
      begin
       dbcombobox2.items.insert(-1,ADOtable3.fieldbyname('YPLB').asstring);
       ADOtable3.Next;
      end;
end;

procedure TYPXXFrm.TabSheet2Show(Sender: TObject);
var i:integer;
begin
    with stringgrid1 do
     begin
      cells[0,0]:='药品编号';
      cells[1,0]:='药品名称';
      cells[2,0]:='计量单位';
      cells[3,0]:='药品类别';
     end;
    for i:=1 to count do
         begin
          with stringgrid1 do
           begin
            cells[0,i]:='';
            cells[1,i]:='';
            cells[2,i]:='';
            cells[3,i]:='';
           end;
         next;
       end;
    Radiobutton1.checked:=true;
    edit1.text:='';
    edit2.text:='';
    edit1.setfocus;
end;

procedure TYPXXFrm.Button2Click(Sender: TObject);
var query:string;
    i:integer;
begin
    for i:=1 to count do
      begin
          with stringgrid1 do
           begin
            cells[0,i]:='';
            cells[1,i]:='';
            cells[2,i]:='';
            cells[3,i]:='';
           end;
         next;
       end;
    query:='';   
    if Radiobutton1.checked=true then
       if edit1.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPXX where YPBH='+''''+edit1.text+'''';
    if Radiobutton2.checked=true then
       if edit2.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from YPXX where YPMC like'+''''+'%'+edit2.text+'%'+''''+'order by YPBH';
    
    if query<>'' then
    begin
    with ADOQuery1 do
     begin
       close;
       sql.clear;
       sql.add(query);
       open;
       first;
       if recordcount=0 then
          begin
          showmessage('对不起,没有符合条件的查询结果!请重新查询!');
          edit1.setfocus;
          end
       else
        begin
         count:=recordcount;
         StringGrid1.RowCount:=recordcount+1;
         for i:=1 to recordcount do
         begin
          with stringgrid1 do
           begin
            cells[0,i]:=fieldbyname('YPBH').asstring;
            cells[1,i]:=fieldbyname('YPMC').asstring;
            cells[2,i]:=fieldbyname('JLDW').asstring;
            cells[3,i]:=fieldbyname('YPLB').asstring;
           end;
         next;
        end;
       end;
   end;
  end;
end;

procedure TYPXXFrm.Button4Click(Sender: TObject);
begin
    YPXXFrm.Hide;   
end;

procedure TYPXXFrm.Button3Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('YPXXReport');
    MainFrm.RvProject1.Close;
end;

end.

⌨️ 快捷键说明

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