📄 information.~pas
字号:
unit information;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, ToolWin, ComCtrls, Grids, DBGrids, StdCtrls, Buttons,
DBCtrls, jpeg, ExtCtrls;
type
TForm11 = class(TForm)
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
Panel1: TPanel;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOQuery4: TADOQuery;
DataSource4: TDataSource;
SaveDialog1: TSaveDialog;
BitBtn3: TBitBtn;
Image1: TImage;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
Label6: TLabel;
Label5: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DbgridToTxt(source:Tobject);
procedure BitBtn3Click(Sender: TObject);
procedure DBLookupComboBox1CloseUp(Sender: TObject); //导出Exel自定义函数
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses KittyHawkPMS, psinformation, psyrecord;
{$R *.dfm}
procedure TForm11.FormCreate(Sender: TObject);
begin
ADOquery1.Active:=false;
ADOquery2.Active:=false;
ADOquery3.Active:=false;
ADOquery4.Active:=false;
with 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;
if (ADOquery1.IsEmpty) then
begin
DBlookupcombobox1.Enabled:=false;
DBLookupCombobox2.Enabled:=false;
end
else
begin
DBlookupcombobox1.Enabled:=true;
//DBLookupCombobox2.Enabled:=true;
end;
end;
ADOquery1.Active:=true;
ADOquery2.Active:=true;
//ADOquery3.Active:=true;
ADOquery4.Active:=true;
ADOquery3.Active:=false;
end;
procedure TForm11.DBGrid1CellClick(Column: TColumn);
begin
Form12.Edit1.Text:=ADOquery1.FieldValues['患者就诊号'];
Form12.Edit2.Text:=ADOquery1.FieldValues['患者姓名'];
Form12.Edit3.Text:=ADOquery1.FieldValues['患者性别'];
Form12.Edit4.Text:=ADOquery1.FieldValues['患者年龄'];
Form12.Edit5.Text:=ADOquery1.FieldValues['医生姓名'];
Form12.Edit6.Text:=ADOquery1.FieldValues['患者入院时间'];
Form12.Edit7.Text:=ADOquery1.FieldValues['病房号'];
Form12.Edit8.Text:=ADOquery1.FieldValues['床号'];
Form12.Memo1.Text:=ADOquery1.FieldValues['症状'];
Form12.show;
end;
procedure TForm11.DBGrid1Exit(Sender: TObject);
begin
Form12.Close;
end;
procedure TForm11.BitBtn1Click(Sender: TObject);
begin
if (DBLookupComboBox1.Text='') or (DBLookupComboBox1.Text='')then
begin
showmessage('请选择病房号和床位号!');
end
else
begin
with adoquery4 do
begin
close;
sql.Clear;
sql.Add('select 患者基本信息.患者就诊号,患者姓名,医生姓名,');
sql.Add('症状,患者性别,患者年龄,病房号,床号,患者入院时间');
sql.Add('from 患者基本信息,患者监护信息,医生信息');
sql.Add('where 患者基本信息.患者就诊号=患者监护信息.患者就诊号');
sql.Add('and 患者监护信息.主治医生号=医生信息.主治医生号');
sql.Add('and 病房号='+DBLookupComboBox1.Text+'and 床号='+DBlookupcombobox2.Text);
open;
end;
if (adoquery4.IsEmpty) then
begin
showmessage('该床位没有患者!');
end
else
begin
Form12.Edit1.Text:=ADOquery4.FieldValues['患者就诊号'];
Form12.Edit2.Text:=ADOquery4.FieldValues['患者姓名'];
Form12.Edit3.Text:=ADOquery4.FieldValues['患者性别'];
Form12.Edit4.Text:=ADOquery4.FieldValues['患者年龄'];
Form12.Edit5.Text:=ADOquery4.FieldValues['医生姓名'];
Form12.Edit6.Text:=ADOquery4.FieldValues['患者入院时间'];
Form12.Edit7.Text:=ADOquery4.FieldValues['病房号'];
Form12.Edit8.Text:=ADOquery4.FieldValues['床号'];
Form12.Memo1.Text:=ADOquery4.FieldValues['症状'];
Form12.show;
end;
end;
end;
procedure TForm11.BitBtn2Click(Sender: TObject);
begin
if (DBLookupComboBox1.Text='') or (DBLookupComboBox1.Text='')then
begin
showmessage('请选择病房号和床位号!');
end
else
begin
with Form13.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from 患者生理参数表 where 病房号='+DBlookupcombobox1.Text+' and 床号='
+DBlookupcombobox2.Text+' order by 记录ID');
open;
end;
if (Form13.ADOQuery1.IsEmpty)then
begin
showmessage('该床位没有患者!');
end
else
begin
form13.show;
end;
end;
end;
procedure TForm11.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 Tform11.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 TForm11.BitBtn3Click(Sender: TObject);
begin
if(ADOQuery1.IsEmpty)then
begin
showmessage('无病情资料!');
BitBtn1.Enabled:=false;
end
else
begin
BitBtn1.Enabled:=true;
DbgridToTxt(dbgrid1);
end;
end;
procedure TForm11.DBLookupComboBox1CloseUp(Sender: TObject);
begin
with ADOquery3 do
begin
close;
sql.Clear;
sql.Add('select distinct 床号 from 患者监护信息 where 病房号='+DBLookupComboBox1.Text);
sql.Add(' and (患者就诊号 is not null) and (患者就诊号>0)');
open;
ADOquery2.Active:=false;
ADOquery2.Active:=true;
DBLookupComboBox2.Enabled:=true;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -