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

📄 pinfor.pas

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

interface

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

type
  TForm22 = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    GroupBox1: TGroupBox;
    DataSource2: TDataSource;
    ADOQuery2: TADOQuery;
    GroupBox2: TGroupBox;
    BitBtn2: TBitBtn;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    GroupBox3: TGroupBox;
    Edit1: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    SaveDialog1: TSaveDialog;
    Image1: TImage;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure BitBtn3Click(Sender: TObject);

    procedure DbgridToTxt(source:Tobject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char); //导出Exel自定义函数
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form22: TForm22;

implementation

uses KittyHawkPMS, ppinfo;

{$R *.dfm}

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

procedure TForm22.BitBtn1Click(Sender: TObject);
begin
if (Edit1.Text<>'')then
begin
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select * from 患者基本信息 where 患者就诊号='+Edit1.Text);
open;
end;
if ADOquery2.IsEmpty then
begin
showmessage('该记录不存在!');
end
else
begin
Form23.Edit1.Text:=ADOquery2.FieldValues['患者就诊号'];
Form23.Edit2.Text:=ADOquery2.FieldValues['患者姓名'];
Form23.Edit3.Text:=ADOquery2.FieldValues['患者性别'];
Form23.Edit4.Text:=ADOquery2.FieldValues['患者年龄'];
Form23.Edit5.Text:=ADOquery2.FieldValues['患者电话'];
Form23.Edit6.Text:=ADOquery2.FieldValues['患者住址'];
Form23.Edit7.Text:=ADOquery2.FieldValues['患者过敏史'];
Form23.show;
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select 医生姓名,患者入院时间,病房号,床号,症状 from 患者监护信息,医生信息 where');
sql.Add(' 患者监护信息.主治医生号=医生信息.主治医生号 and 患者监护信息.患者就诊号='+Edit1.Text);
open;
if ADOquery2.IsEmpty then
begin
end
else
begin
Form23.Edit8.Text:=ADOquery2.FieldValues['医生姓名'];
Form23.Edit9.Text:=ADOquery2.FieldValues['患者入院时间'];
Form23.Edit11.Text:=ADOquery2.FieldValues['病房号'];
Form23.Edit10.Text:=ADOquery2.FieldValues['床号'];
Form23.Memo1.Text:=ADOquery2.FieldValues['症状'];
end;
end;
end;
end
else
begin
showmessage('请输入就诊号!');
end;
end;

procedure TForm22.BitBtn2Click(Sender: TObject);
begin
if (Edit2.Text='') or (Edit3.Text='') then
begin
showmessage('请输入姓名和电话!');
end
else
begin
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select * from 患者基本信息 where 患者姓名='+'"'+Edit2.Text+'"');
sql.Add(' and 患者电话='+'"'+Edit3.Text+'"');
open;
end;
if ADOquery2.IsEmpty then
begin
showmessage('该记录不存在或输入有误');
end
else
begin
Form23.Edit1.Text:=ADOquery2.FieldValues['患者就诊号'];
Form23.Edit2.Text:=ADOquery2.FieldValues['患者姓名'];
Form23.Edit3.Text:=ADOquery2.FieldValues['患者性别'];
Form23.Edit4.Text:=ADOquery2.FieldValues['患者年龄'];
Form23.Edit5.Text:=ADOquery2.FieldValues['患者电话'];
Form23.Edit6.Text:=ADOquery2.FieldValues['患者住址'];
Form23.Edit7.Text:=ADOquery2.FieldValues['患者过敏史'];
Form23.show;
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select 医生姓名,患者入院时间,病房号,床号,症状 from 患者监护信息,医生信息,患者基本信息 where');
sql.Add(' 患者监护信息.主治医生号=医生信息.主治医生号 and 患者监护信息.患者就诊号=患者基本信息.患者就诊号');
sql.Add(' and 患者基本信息.患者姓名='+'"'+Edit2.Text+'"');
sql.Add(' and 患者基本信息.患者电话='+'"'+Edit3.Text+'"');
open;
if ADOquery2.IsEmpty then
begin
end
else
begin
Form23.Edit8.Text:=ADOquery2.FieldValues['医生姓名'];
Form23.Edit9.Text:=ADOquery2.FieldValues['患者入院时间'];
Form23.Edit11.Text:=ADOquery2.FieldValues['病房号'];
Form23.Edit10.Text:=ADOquery2.FieldValues['床号'];
Form23.Memo1.Text:=ADOquery2.FieldValues['症状'];
end;
end;
end;
end;

end;

procedure TForm22.DBGrid1CellClick(Column: TColumn);
begin
Edit1.Text:=ADOquery1.FieldValues['患者就诊号'];
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select * from 患者基本信息 where 患者就诊号='+Edit1.Text);
open;
end;
if ADOquery2.IsEmpty then
begin
showmessage('该记录不存在!');
end
else
begin
Form23.Edit1.Text:=ADOquery2.FieldValues['患者就诊号'];
Form23.Edit2.Text:=ADOquery2.FieldValues['患者姓名'];
Form23.Edit3.Text:=ADOquery2.FieldValues['患者性别'];
Form23.Edit4.Text:=ADOquery2.FieldValues['患者年龄'];
Form23.Edit5.Text:=ADOquery2.FieldValues['患者电话'];
Form23.Edit6.Text:=ADOquery2.FieldValues['患者住址'];
Form23.Edit7.Text:=ADOquery2.FieldValues['患者过敏史'];
Form23.show;
with ADOquery2 do
begin
close;
sql.Clear;
sql.Add('select 医生姓名,患者入院时间,病房号,床号,症状 from 患者监护信息,医生信息 where');
sql.Add(' 患者监护信息.主治医生号=医生信息.主治医生号 and 患者监护信息.患者就诊号='+Edit1.Text);
open;
if ADOquery2.IsEmpty then
begin
end
else
begin
Form23.Edit8.Text:=ADOquery2.FieldValues['医生姓名'];
Form23.Edit9.Text:=ADOquery2.FieldValues['患者入院时间'];
Form23.Edit11.Text:=ADOquery2.FieldValues['病房号'];
Form23.Edit10.Text:=ADOquery2.FieldValues['床号'];
Form23.Memo1.Text:=ADOquery2.FieldValues['症状'];
end;
end;
end
end;

procedure TForm22.DBGrid1TitleClick(Column: TColumn);
begin
if ADOQuery1.Sort<>(Column.FieldName+' ASC') then
begin
ADOQuery1.Sort :=Column.FieldName+' ASC';
end
else
begin
ADOQuery1.Sort :=Column.FieldName+' DESC';
end;
end;

procedure TForm22.BitBtn3Click(Sender: TObject);
begin
if(ADOQuery1.IsEmpty)then
  begin
  showmessage('无病情资料!');
    BitBtn2.Enabled:=false;
 end
  else
  begin
  DbgridToTxt(dbgrid1);
  end;
end;

procedure Tform22.DbgridToTxt(source:Tobject);
var
   filename:Textfile;
   Dataset:Tdataset;
   titlestr,valuestr,tempstr:string;
   counter:integer;

   begin
if(source is Tdbgrid)then
 Dataset:=Tdbgrid(source).DataSource.DataSet
  else
     Dataset:=TDataset(source);
 if((Dataset.IsEmpty)or(not Dataset.Active))then
 exit else
 begin
    Dataset.DisableControls;
    Dataset.First;
    if savedialog1.Execute then
    begin
       assignfile(filename,savedialog1.FileName);
       rewrite(filename);
       for counter:=0 to Dataset.FieldCount-1 do
       titlestr:=titlestr+char(9)+Dataset.Fields[counter].DisplayLabel;
       titlestr:=trim(titlestr);
       while not Dataset.Eof do

       begin
          valuestr:='';
          for counter:=0 to Dataset.FieldCount-1 do
          begin
          tempstr:=Dataset.Fields[counter].Text;
          valuestr:=valuestr+char(9)+tempstr;
          end;
          valuestr:=trim(valuestr);
          writeln(filename,valuestr);
          Dataset.Next;
          end;
          closefile(filename);
          end;
          Dataset.EnableControls;
          end;


 end;

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

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

end.

⌨️ 快捷键说明

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