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

📄 regesterform.~pas

📁 简易的患者监护系统
💻 ~PAS
字号:
unit regesterform;

interface

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

type
  TForm17 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Memo1: TMemo;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    ComboBox1: TComboBox;
    Edit5: TEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    Edit6: TEdit;
    DBLookupComboBox2: TDBLookupComboBox;
    DBLookupComboBox3: TDBLookupComboBox;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    DataSource4: TDataSource;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    ADOQuery4: TADOQuery;
    DataSource5: TDataSource;
    ADOQuery5: TADOQuery;
    DataSource6: TDataSource;
    ADOQuery6: TADOQuery;
    Image1: TImage;
    Label13: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBLookupComboBox2CloseUp(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4Exit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form17: TForm17;

implementation

uses KittyHawkPMS, patientwards, pinfor, information;

{$R *.dfm}

procedure TForm17.FormCreate(Sender: TObject);
begin
ADOquery3.Active:=false;
ADOquery4.Active:=false;
ADOquery3.Active:=true;
ADOquery4.Active:=true;
ADOquery1.Active:=true;
ADOquery2.Active:=true;
ADOquery5.Active:=true;
Edit2.Enabled:=false;
Edit3.Enabled:=false;
Edit4.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
ComboBox1.Enabled:=false;
DBLookupComboBox1.Enabled:=false;
DBLookupComboBox2.Enabled:=false;
DBLookupComboBox3.Enabled:=false;
Memo1.Enabled:=false;
end;

procedure TForm17.Edit1Change(Sender: TObject);
begin
if (Edit1.Text<>'')then
begin
with ADOquery1 do
begin
close;
sql.Clear;
sql.Add('select * from 患者基本信息 where 患者就诊号='+Edit1.Text);
open;
if ADOquery1.IsEmpty then
  begin
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='无';
Memo1.Text:='';
Edit2.Enabled:=true;
Edit3.Enabled:=true;
Edit4.Enabled:=true;
Edit5.Enabled:=true;
Edit6.Enabled:=true;
ComboBox1.Enabled:=true;
DBLookupComboBox1.Enabled:=true;
DBLookupComboBox2.Enabled:=true;
DBLookupComboBox3.Enabled:=false;
Memo1.Enabled:=true;
ADOquery3.Active:=false;
with ADOquery3 do
begin
close;
sql.Clear;
sql.Add('select distinct 病房号 from 患者监护信息 where 患者就诊号<1');
open;
ADOquery3.Active:=true;
end;
end
else
begin
Edit2.Text:=ADOquery1.FieldValues['患者姓名'];
Edit3.Text:=ADOquery1.FieldValues['患者年龄'];
Edit4.Text:=ADOquery1.FieldValues['患者电话'];
Edit5.Text:=ADOquery1.FieldValues['患者住址'];
Edit6.Text:=ADOquery1.FieldValues['患者过敏史'];
ComboBox1.Text:=ADOquery1.FieldValues['患者性别'];
Edit2.Enabled:=false;
Edit3.Enabled:=false;
Edit4.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
ComboBox1.Enabled:=false;
DBLookupComboBox1.Enabled:=true;
DBLookupComboBox2.Enabled:=true;
DBLookupComboBox3.Enabled:=true;
Memo1.Enabled:=true;
end;
end;
end
else
begin
//showmessage('输入不能为空!');
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='无';
Memo1.Text:='';
Edit2.Enabled:=false;
Edit3.Enabled:=false;
Edit4.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
ComboBox1.Enabled:=false;
DBLookupComboBox1.Enabled:=false;
DBLookupComboBox2.Enabled:=false;
DBLookupComboBox3.Enabled:=false;
Memo1.Enabled:=false;
end;
end;

procedure TForm17.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Not(Key in ['0'..'9',#8])then
Key:=#0;
end;

procedure TForm17.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Not(Key in ['0'..'9',#8])then
Key:=#0;
end;

procedure TForm17.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if Not(Key in ['0'..'9',#8])then
Key:=#0;
end;

procedure TForm17.BitBtn2Click(Sender: TObject);
begin
Edit1.SetFocus;
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='无';
Memo1.Text:='';
Edit2.Enabled:=false;
Edit3.Enabled:=false;
Edit4.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
ComboBox1.Enabled:=false;
DBLookupComboBox1.Enabled:=false;
DBLookupComboBox2.Enabled:=false;
DBLookupComboBox3.Enabled:=false;
Memo1.Enabled:=false;
end;

procedure TForm17.DBLookupComboBox2CloseUp(Sender: TObject);
begin
if (DBlookupCombobox2.Text<>'')then
begin
with ADOquery4 do
begin
close;
sql.Clear;
sql.Add('select distinct 床号 from 患者监护信息 where 患者就诊号<1 and 病房号='+DBLookupComboBox2.Text+' order by 床号');
open;
ADOquery4.Active:=true;
DBLookupComboBox3.Enabled:=true;
end;
end;
end;

procedure TForm17.BitBtn1Click(Sender: TObject);
var i:integer;
    room:string;
begin
if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text='') or(Edit6.Text='') or (DBLookupComboBox2.Text='') or (Memo1.Text='')then
begin
showmessage('请把信息输完整!');
end
else
begin
if ADOquery1.IsEmpty then
begin
ADOquery6.Active:=true;
ADOquery6.Last;
ADOquery6.insert;
ADOquery6.FieldValues['患者就诊号']:=Edit1.Text;
ADOquery6.FieldValues['患者姓名']:=Edit2.Text;
ADOquery6.FieldValues['患者性别']:=ComboBox1.Text;
ADOquery6.FieldValues['患者年龄']:=Edit3.Text;
ADOquery6.FieldValues['患者电话']:=Edit4.Text;
ADOquery6.FieldValues['患者住址']:=Edit5.Text;
ADOquery6.FieldValues['患者过敏史']:=Edit6.Text;
ADOquery6.Post;
end;

with ADOquery5 do
begin
close;
sql.Clear;
sql.Add('select * from 患者监护信息 where 患者就诊号='+Edit1.Text);
open;
end;
if ADOquery5.IsEmpty then
begin
with ADOquery5 do
begin
close;
sql.Clear;
sql.Add('select * from 患者监护信息 where 病房号='+DBLookupComboBox2.Text);
sql.Add(' and 床号='+DBLookupComboBox3.Text);
open;
end;
ADOquery5.Edit;
ADOquery5.FieldValues['患者就诊号']:=Edit1.Text;
ADOquery5.FieldValues['主治医生号']:=DBLookupCombobox1.KeyValue;
ADOquery5.FieldValues['症状']:=Memo1.Text;
ADOquery5.FieldValues['患者入院时间']:=datetostr(Now());
ADOquery5.Post;

with ADOquery1 do
begin
close;
sql.Clear;
sql.Add('select * from 患者基本信息,患者监护信息 where 患者基本信息.患者就诊号=患者监护信息.患者就诊号 and 患者基本信息.患者就诊号='+Edit1.Text);
open;
end;
if ADOquery1.IsEmpty then
begin
showmessage('警告:注册失败!');
end
else
begin

  Form2.ADOQuery1.Active:=true;
  with Form2.ADOQuery1 do
  begin
  close;
  sql.Clear;
  sql.Add('select distinct 病房号');
  sql.Add(' from 患者监护信息');
  sql.Add(' where (患者就诊号 is not null) and (患者就诊号>=1)');
  sql.Add(' group by 病房号 having count(*)>=1');
  open;
  end;
  if Form2.ADOQuery1.IsEmpty then
  begin
  Form2.ADOQuery1.Active:=false;
  end
  else
  begin
  Form2.ComboBox1.Items.Clear;
  for i:=0 to ((Form2.ADOQuery1.RecordCount)-1)do
  begin
  room:=Form2.ADOQuery1.FieldValues['病房号'];
  Form2.ComboBox1.Items.Add(room+'号病房');
  Form2.ADOQuery1.Next;
  end;
  Form2.ADOQuery1.Active:=false;
  end;

  Form22.ADOquery1.Active:=false;
  with Form22.ADOQuery1 do
  begin
  close;
  sql.Clear;
  sql.Add('select * from 患者基本信息');
  open;
  end;
  form22.ADOquery1.Active:=true;

  Form11.ADOquery1.Active:=false;
  with Form11.ADOQuery1 do
  begin
  close;
  sql.Clear;
  sql.Add('select 患者基本信息.患者就诊号,患者姓名,医生姓名,症状,');
  sql.Add('患者性别,患者年龄,病房号,床号,患者入院时间 ');
  sql.Add('from 患者基本信息,患者监护信息,医生信息 ');
  sql.Add('where 患者基本信息.患者就诊号=患者监护信息.患者就诊号 ');
  sql.add('and 患者监护信息.主治医生号=医生信息.主治医生号');
  sql.Add ('order by 患者基本信息.患者就诊号');
  open;
  end;
  Form11.ADOquery1.Active:=true;
  Form11.ADOQuery2:=false;
  Form11.ADOQuery2:=true;

showmessage('注册成功');
end;
end
else
begin
showmessage('该病人已经住院!');
end;

//form17.Close;
//Edit1.Text:='输入就诊号';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='无';
Memo1.Text:='';
ADOquery3.Active:=false;
ADOquery4.Active:=false;
ADOquery3.Active:=true;
ADOquery4.Active:=true;
Edit2.Enabled:=false;
Edit3.Enabled:=false;
Edit4.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
ComboBox1.Enabled:=false;
DBLookupComboBox1.Enabled:=false;
DBLookupComboBox2.Enabled:=false;
DBLookupComboBox3.Enabled:=false;
Memo1.Enabled:=false;
end;
DBLookupComboBox3.Enabled:=false;
end;

procedure TForm17.Edit3Change(Sender: TObject);
begin
if Edit3.Text<>''then
begin
if (strtoint(Edit3.Text)>120)or (strtoint(Edit3.Text)<1)then
begin
showmessage('输入年龄有误!');
Edit3.SetFocus;
end;
end;
end;

procedure TForm17.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9'])then
Key:=#0;
end;

procedure TForm17.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['0'..'9'])then
Key:=#0;
end;

procedure TForm17.Edit4Exit(Sender: TObject);
begin
if Edit4.Text<>''then
begin
if (strtoint(Edit4.Text)<10000000)then
begin
showmessage('请正确输入电话号码!');
Edit4.SetFocus;
end;
end;
end;

procedure TForm17.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Memo1.Text:='';
ADOquery3.Active:=false;
ADOquery4.Active:=false;
ADOquery3.Active:=true;
ADOquery4.Active:=true;
end;

end.

⌨️ 快捷键说明

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