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

📄 u_register.~pas

📁 是一小型门诊挂号软件
💻 ~PAS
字号:
unit U_register;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, Grids, DBGrids, StdCtrls, DBCtrls, Buttons;

type
  TF_register = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    G_insert: TGroupBox;
    e_medicalID: TDBLookupComboBox;
    e_clinic: TDBLookupComboBox;
    e_type: TDBLookupComboBox;
    Label4: TLabel;
    Label5: TLabel;
    Label3: TLabel;
    G_delete: TGroupBox;
    Label6: TLabel;
    e_id2: TDBLookupComboBox;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn3: TBitBtn;
    G_edit: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label7: TLabel;
    e_medicalID3: TDBLookupComboBox;
    e_clinic3: TDBLookupComboBox;
    e_type3: TDBLookupComboBox;
    G_edit1: TGroupBox;
    e_id3: TDBLookupComboBox;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_register: TF_register;
  registerID:integer;//挂号单编号,传递给另一个form(F_registerBill)使用

implementation

uses u_datamodule,u_registerBill;

{$R *.dfm}

procedure TF_register.FormShow(Sender: TObject);
begin
//  f_dm.T_register.Open;  //挂号表
  PageControl1.Visible:=false;
  PageControl1.Visible:=true;
  registerID:=-1;//初始化为不可打印
end;
//取消所有更新操作
procedure TF_register.BitBtn3Click(Sender: TObject);
begin
  f_dm.T_register.CancelUpdates;//取消所有更新操作
end;
//////////////////////////
//挂号
//////////////////////////
procedure TF_register.BitBtn1Click(Sender: TObject);
begin
  if (g_insert.Visible =true)  then//在可插入状态下
  begin
    with f_dm.T_count  do  //得到医疗证编号
    begin
      Open;
      registerID:=FieldByName('registerID').AsInteger ;
      Inc(registerID);
      Edit;
      FieldByName('registerID').AsInteger:=registerID;
      Post;
      Close;
    end;
    with  f_dm.q   do  //插入
    begin      
      sql:=f_dm.UQ_register.InsertSQL ;
      ParamByName('ID').AsInteger :=registerID;
      ParamByName('医疗证ID').AsInteger :=e_medicalID.KeyValue  ;
      ParamByName('科室').AsInteger := e_clinic.KeyValue  ;
      ParamByName('挂号类别').AsInteger :=e_type.KeyValue  ;
      ParamByName('日期').AsDateTime :=Now;
      ExecSQL;//不能用open
      close;
    end;
    g_insert.Visible :=false;
  end
  else
  begin
    Application.MessageBox('请点击“开始挂号”按键!','挂号失败',MB_OK);
  end;
end;

procedure TF_register.TabSheet1Show(Sender: TObject);
begin
   f_dm.T_type.Open;      //类别表
   f_dm.T_clinic.Open;    //科室表
   f_dm.T_medical_Card.Open;//医疗证表
   g_insert.Visible :=false;//初始不能插入挂号
   registerID:=-1;//初始化为不可打印
end;

procedure TF_register.BitBtn2Click(Sender: TObject);
begin
   g_insert.Visible :=true; //可以插入挂号
end;

//////////////////////
//退号
////////////////////////
procedure TF_register.BitBtn4Click(Sender: TObject);
begin
  g_delete.Visible :=true;//开始退号的编辑
end;

procedure TF_register.TabSheet2Show(Sender: TObject);
begin
  g_delete.Visible :=false;//无法进行退号的编辑
  f_dm.T_register.open;
end;

procedure TF_register.BitBtn5Click(Sender: TObject);
begin
  if (g_delete.Visible =true) then
  begin
    with  f_dm.q   do  //删除
    begin
      sql:=f_dm.UQ_register.DeleteSQL  ;
      ParamByName('ID').AsInteger :=e_id2.KeyValue   ;
      ExecSQL;//不能用open
      close;
    end;
    g_delete.Visible :=false;
    f_dm.T_register.Refresh;
  end
  else
  begin
    Application.MessageBox('请点击“开始退号”按键!','退号失败',MB_OK);
  end;
end;
////////////////////////////
//修改挂号单
///////////////////////////

procedure TF_register.TabSheet3Show(Sender: TObject);
begin
   f_dm.T_type.Open;      //类别表
   f_dm.T_clinic.Open;    //科室表
   f_dm.T_medical_Card.Open;//医疗证表
   f_dm.T_register.Open;
   g_edit.Visible:=false;
   registerID:=-1;//初始化为不可打印
end;

procedure TF_register.BitBtn6Click(Sender: TObject);
begin
   g_edit.Visible:=true;
end;

procedure TF_register.BitBtn7Click(Sender: TObject);
begin
  if (g_edit.Visible =true) then
  begin
    registerID:= e_id3.KeyValue;
    with  f_dm.q   do  //修改
    begin
      sql:=f_dm.UQ_register.ModifySQL ;
      ParamByName('ID').AsInteger :=e_id3.KeyValue ;
      ParamByName('医疗证ID').AsInteger :=e_medicalID3.KeyValue  ;
      ParamByName('科室').AsInteger := e_clinic3.KeyValue  ;
      ParamByName('挂号类别').AsInteger :=e_type3.KeyValue  ;
      ParamByName('日期').AsDateTime :=Now;
      ExecSQL;//不能用open
      close;
    end;
    g_edit.Visible :=false;
    f_dm.T_register.Refresh;
  end
  else
  begin
    registerID:=-1;//不可打印
    Application.MessageBox('请点击“开始修改”按键!','修改失败',MB_OK);
  end;
end;

procedure TF_register.BitBtn8Click(Sender: TObject);
begin
   if (registerID<>-1) then
     f_registerBill.show;//显示新的挂号单内容
end;

end.

⌨️ 快捷键说明

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