📄 pinfor.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 + -