📄 kittyhawkpms.~pas
字号:
unit KittyHawkPMS;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, ToolWin, ComCtrls, Menus, StdCtrls, ExtCtrls, TeeProcs,
TeEngine, Chart, Series, Mask, DBCtrls, Buttons, DB, ADODB,MMSystem, jpeg,
ActnList, ImgList;
type
PowerArray=array[0..250]of single;////////////////////////
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
ToolBar1: TToolBar;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
Button2: TButton;
Button3: TButton;
Button5: TButton;
Panel1: TPanel;
GroupBox1: TGroupBox;
ListBox1: TListBox;
ListBox2: TListBox;
Label1: TLabel;
Label2: TLabel;
StatusBar1: TStatusBar;
Timer1: TTimer;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
Chart1: TChart;
Series1: TLineSeries;
Button6: TButton;
Panel2: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
GroupBox7: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Panel3: TPanel;
GroupBox8: TGroupBox;
Panel5: TPanel;
GroupBox9: TGroupBox;
GroupBox10: TGroupBox;
Panel4: TPanel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label19: TLabel;
Label18: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit5: TEdit;
Timer2: TTimer;
Timer3: TTimer;
Timer4: TTimer;
Timer5: TTimer;
Label53: TLabel;
Timer6: TTimer;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Button7: TButton;
N12: TMenuItem;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOConnection2: TADOConnection;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
Image11: TImage;
Image12: TImage;
Image13: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
Image17: TImage;
Image18: TImage;
Image19: TImage;
Image20: TImage;
Image21: TImage;
Image22: TImage;
Image23: TImage;
Image24: TImage;
Image25: TImage;
Image26: TImage;
Image27: TImage;
Image28: TImage;
Image29: TImage;
Image30: TImage;
Image31: TImage;
Image32: TImage;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
BitBtn5: TBitBtn;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
Panel6: TPanel;
Image33: TImage;
N21: TMenuItem;
N22: TMenuItem;
ADOQuery4: TADOQuery;
DataSource4: TDataSource;
Timer7: TTimer;
Image34: TImage;
Image35: TImage;
BitBtn6: TBitBtn;
Image36: TImage;
Image37: TImage;
Image38: TImage;
Image39: TImage;
Image40: TImage;
Image41: TImage;
Image42: TImage;
Image43: TImage;
Image44: TImage;
XPManifest1: TXPManifest;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
Timer8: TTimer;
DataSource5: TDataSource;
ADOQuery5: TADOQuery;
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer6Timer(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure Edit1Click(Sender: TObject);
procedure Edit2Click(Sender: TObject);
procedure Edit3Click(Sender: TObject);
procedure Edit4Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure Timer7Timer(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure Timer8Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var count1:integer=0; //画图
//tempindex:integer=0;//
flagheart:string='1号床';
flagroom:string='1号病房';
LiuP,EGCP:PowerArray; //
roomnum:integer; //当前选择病房号
roommin:integer;
roommax:integer;
roomindex:integer;
var fexist:integer=0;//流动监护时使用
implementation
uses patientwards, ECGchoice, heartratepic, nomheartrate, nompsychology,
version, dbreturn, Unit9, dbreturn2, information, datasourceinfo,
researcherinfor, startform, regesterform, leaveform, leave, phinfo,
techniquesupport, pinfor, help, addremoveroom, monitormodel;
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='系统时间:'+DateTimeToStr(Now); //日期+时间
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var t2,t3,t4,t5:integer;
t1:single;
abnomal1,abnomal2,abnomal3,abnomal4:string;
begin
label11.Visible:=true;
label12.Visible:=true;
label13.Visible:=true;
label14.Visible:=true;
randomize;
t1:=(random(2)/10)+(0.8*trunc(random(41)/40))+36.5;//体温
t5:=random(3)-random(3)+15; //呼吸
t2:=random(4)-random(4)+20*(trunc(random(61)/60))-20*(trunc(random(21)/20))+78;//脉搏
t3:=random(5)-random(5)+(25*trunc(random(41)/40))+105; //收缩压
t4:=random(5)-random(5)+(25*trunc(random(41)/40))-(25*trunc(random(41)/40))+70;//舒张压
label11.Caption:=floattostr((trunc(10*t1)/10))+' 摄氏度';
label12.Caption:=floattostr(t5)+' 次/分';
label13.Caption:=floattostr(t2)+' 次/分';
label14.Caption:=floattostr(t3)+'/'+floattostr(t4)+'mmHg';
if (t1>37.3)or(t1<35) then
begin
abnomal1:='体温';
image2.Visible:=true;
image1.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 1 体温 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image1.Visible:=true;
image2.Visible:=false;
end;
if(t5<12)or(t5>20)then
begin
abnomal2:='呼吸';
image4.Visible:=true;
image3.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 1 呼吸 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image3.Visible:=true;
image4.Visible:=false;
end;
if (t2>100)or(t2<60) then
begin
abnomal3:='脉搏';
image6.Visible:=true;
image5.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 1 脉搏 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image5.Visible:=true;
image6.Visible:=false;
end;
if (t3>130)or(t3<90)or(t4>90)or(t4<60)then
begin
abnomal4:='血压';
image8.Visible:=true;
image7.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 1 血压 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image7.Visible:=true;
image8.Visible:=false;
end;
adoquery3.Last;
adoquery3.Insert;
adoquery3.FieldValues['病房号']:=inttostr(roomnum);
adoquery3.FieldValues['床号']:=1;
adoquery3.FieldValues['体温']:=t1;
adoquery3.FieldValues['脉搏']:=t2;
adoquery3.FieldValues['呼吸']:=t5;
adoquery3.FieldValues['异常标记']:=abnomal1+abnomal2+abnomal3+abnomal4;
adoquery3.FieldValues['日期时间']:=datetimetostr(now);
adoquery3.FieldValues['血压']:=inttostr(t3)+'/'+inttostr(t4);
//adoquery3.Post;
{bn:=random(40);
if (bn=1)then
begin
listbox2.Items.Add(inttostr(random(10)+1)+' '+inttostr(bn)+' '+timetostr(Now()));
end;}
end;
procedure TForm1.Timer3Timer(Sender: TObject);
var t2,t3,t4,t5:integer;
t1:single;
abnomal1,abnomal2,abnomal3,abnomal4:string;
begin
label23.Visible:=true;
label24.Visible:=true;
label25.Visible:=true;
label26.Visible:=true;
randomize;
t1:=(random(2)/10)+(0.8*trunc(random(41)/40))+36.7;//体温
t5:=random(3)-random(3)+15; //呼吸
t2:=random(4)-random(4)+20*(trunc(random(41)/40))-20*(trunc(random(21)/20))+78;//脉搏
t3:=random(5)-random(5)+(25*trunc(random(41)/40))+105; //收缩压
t4:=random(5)-random(5)+(25*trunc(random(41)/40))-(25*trunc(random(41)/40))+70;//舒张压
label23.Caption:=floattostr((trunc(10*t1)/10))+' 摄氏度';
label24.Caption:=floattostr(t5)+' 次/分';
label25.Caption:=inttostr(t2)+' 次/分';
label26.Caption:=floattostr(t3)+'/'+floattostr(t4)+'mmHg';
if (t1>37.3)or(t1<35) then
begin
abnomal1:='体温';
image10.Visible:=true;
image9.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 2 体温 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image9.Visible:=true;
image10.Visible:=false;
end;
if(t5<12)or(t5>20)then
begin
abnomal2:='呼吸';
image12.Visible:=true;
image11.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 2 呼吸 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image11.Visible:=true;
image12.Visible:=false;
end;
if (t2>100)or(t2<60) then
begin
abnomal3:='脉搏';
image14.Visible:=true;
image13.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 2 脉搏 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
begin
image13.Visible:=true;
image14.Visible:=false;
end;
if (t3>130)or(t3<90)or(t4>90)or(t4<60)then
begin
abnomal4:='血压';
image16.Visible:=true;
image15.Visible:=false;
ListBox1.Items.Add(inttostr(roomnum)+' 2 血压 '+timetostr(Now()));
SndPlaySound(PAnsiChar(ExtractFilePath(Application.EXENAME)+'报警声\BEEP1.wav'),SND_ASYNC);
end
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -