📄 u_register.~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 + -