?? ufrmcellmarrow.pas
字號:
end;
procedure TfrmCellMarrowMain.SelectPicture;
begin
FPicture.SelectTestResultByPatientID(FPatient.PatientID);
end;
procedure TfrmCellMarrowMain.SetInitPath;
var
InitPath:TIniFile;
begin
InitPath:=TIniFile.Create('.\startpath.ini');
frmSetPictureInputPath:=TfrmSetPictureInputPath.Create(nil);
try
frmSetPictureInputPath.ShowModal;
if frmSetPictureInputPath.ReturnPath.Succeed then
begin
InitPath.WriteString('startpath','CellMarrow',frmSetPictureInputPath.ReturnPath.Path);
end;
finally
InitPath.Free;
frmSetPictureInputPath.Free;
end;
end;
procedure TfrmCellMarrowMain.SetPicturePrinted;
begin
FPicture.SetPicturePrinted;
pnlPrintedInf.Caption:=FPicture.GetPrintedPicture;
end;
procedure TfrmCellMarrowMain.SetPictureUnprinted;
begin
FPicture.SetPictureUnprinted;
pnlPrintedInf.Caption:=FPicture.GetPrintedPicture;
end;
procedure TfrmCellMarrowMain.WriteReport;
begin
with FPatient do
begin
if (Query.Active=False)and(Query.RecordCount<1)then Exit;
Query.FieldByName('OutOrIn').ASString:=cboOutOrIn.Text;
Query.FieldByName('PatientCode').ASString:=edtCaseCode.Text;
Query.FieldByName('PatientName').ASString:=edtName.Text;
Query.FieldByName('sex').ASString:=cboSex.Text;
Query.FieldByName('Birthday').ASString:=edtBirthdayCount.Text;
Query.FieldByName('BirthdayUnit').ASString:=cboBirthdayUnit.Text;
Query.FieldByName('Department').ASString:=cboDepartment.Text;
Query.FieldByName('SickSection').ASString:=cboSicknessSection.Text;
Query.FieldByName('BedCode').ASString:=edtSicknessBed.Text;
Query.FieldByName('Diagnositic').ASString:=cboDiagnosis.Text;
Query.FieldByName('TestNumber').ASString:=edtTestNo.Text;
Query.FieldByName('SampleSource').ASString:=cboSampleSource.Text;
Query.FieldByName('SendDoctor').ASString:=cboSendDoctor.Text;
Query.FieldByName('TestDoctor').ASString:=cboTestDoctor.Text;
Query.FieldByName('TestDate').AsDateTime:=DateOf(dtpTestDate.Date);
Query.FieldByName('SendDate').AsDateTime:=DateOf(dtpSendDate.Date);
Query.FieldByName('ReportDate').AsDateTime:=DateOf(dtpReportDate.Date);
Query.FieldByName('ReportMemo').ASString:=memReport.Text;
Query.FieldByName('Advice').ASString:=memAdvice.Text;
Query.FieldByName('TestResult').ASString:=memTestResult.Text;
end;
end;
procedure TfrmCellMarrowMain.FormCreate(Sender: TObject);
begin
FBlank:=False;
FPatient:=TCellMarrowPatient.Create;
FPicture:=TCellMarrowPicture.Create;
FAdvice:=TCellAdviceTemplet.create;
FTestResult:=TCellTestResult.Create;
//加載數(shù)據(jù)
LoadTodayData;
//字典
FTestDoctor:=TDictionary.Create('TAB_M_TEST_DOCTOR');
FSicknessSection:=TDictionary.Create('TAB_M_SICKNESS_SECTION');
FDiagnostic:=TDictionary.Create('TAB_M_DIAGNOSIS');
FDepartment:=TDictionary.Create('TAB_M_DEPARTMENT');
FSendDoctor:=tdictionary.Create('TAB_M_SEND_DOCTOR');
//加載字典
LoadDictionaryToCombox;
//顯示報(bào)告
ReadReport;
//綁定 數(shù)據(jù)源
BindDataSource;
end;
procedure TfrmCellMarrowMain.FormDestroy(Sender: TObject);
begin
FPatient.Free;
FPicture.Free;
FAdvice:=TCellAdviceTemplet.create;
//以下為字典對象
FTestDoctor.Free;
FSicknessSection.Free;
FDiagnostic.Free;
FDepartment.Free;
FSendDoctor.Free;
// FTemplet.Free;
end;
procedure TfrmCellMarrowMain.ToolButton2Click(Sender: TObject);
begin
if (FBlank=False)and(pgcPatient.ActivePageIndex=1) then
begin
InitialReport;
edtCaseCode.SetFocus;
FBlank:=True;
Exit;
end;
if pgcPatient.ActivePageIndex=0 then
begin
InitialReport;
end;
AddReport;
end;
procedure TfrmCellMarrowMain.ToolButton3Click(Sender: TObject);
begin
DeleteReport;
end;
procedure TfrmCellMarrowMain.ToolButton1Click(Sender: TObject);
begin
SaveReport;
end;
procedure TfrmCellMarrowMain.ToolButton4Click(Sender: TObject);
begin
MoveFirst;
end;
procedure TfrmCellMarrowMain.ToolButton5Click(Sender: TObject);
begin
MovePriview;
end;
procedure TfrmCellMarrowMain.ToolButton6Click(Sender: TObject);
begin
MoveNext;
end;
procedure TfrmCellMarrowMain.ToolButton7Click(Sender: TObject);
begin
MoveLast;
end;
procedure TfrmCellMarrowMain.ToolButton13Click(Sender: TObject);
begin
LoadTodayData;
ReadReport;
end;
procedure TfrmCellMarrowMain.ToolButton17Click(Sender: TObject);
begin
AddPicture;
end;
procedure TfrmCellMarrowMain.ToolButton18Click(Sender: TObject);
begin
DeletePicture;
end;
procedure TfrmCellMarrowMain.ToolButton19Click(Sender: TObject);
begin
SetPicturePrinted;
end;
procedure TfrmCellMarrowMain.ToolButton20Click(Sender: TObject);
begin
SetPictureUnprinted;
end;
procedure TfrmCellMarrowMain.ToolButton21Click(Sender: TObject);
begin
SetInitPath;
end;
procedure TfrmCellMarrowMain.cboDepartmentExit(Sender: TObject);
begin
LookUpByName(cboDepartment,FDepartment);
end;
procedure TfrmCellMarrowMain.cboSicknessSectionExit(Sender: TObject);
begin
LookUpByName(cboSicknessSection,FSicknessSection);
end;
procedure TfrmCellMarrowMain.cboDiagnosisExit(Sender: TObject);
begin
LookUpByName(cboDiagnosis,FDiagnostic);
end;
procedure TfrmCellMarrowMain.cboTestDoctorExit(Sender: TObject);
begin
LookUpByName(cboTestDoctor,FTestDoctor);
end;
procedure TfrmCellMarrowMain.cboSendDoctorExit(Sender: TObject);
begin
LookUpByName(cboSendDoctor,FSendDoctor);
end;
procedure TfrmCellMarrowMain.dbiLiveMarrowDblClick(Sender: TObject);
begin
if FPicture.Query.Active=False then Exit;
if FPicture.Query.RecordCount<1 then Exit;
TBlobField(FPicture.Query.FieldByName('picture')).SaveToFile('tem.jpeg');
frmZoom:=TfrmZoom.Create(nil);
frmZoom.Image1.Picture.LoadFromFile('tem.jpeg');
frmZoom.Caption:='當(dāng)前顯示為第'+IntToStr(FPicture.Query.RecNo)+'幅圖片';
frmZoom.ShowModal;
frmZoom.Free;
FPicture.Query.DisableControls;
FPicture.Query.EnableControls;
end;
procedure TfrmCellMarrowMain.ToolButton8Click(Sender: TObject);
var
frmQuery:TfrmCellMarrowQuery;
begin
frmQuery:=TfrmCellMarrowQuery.Create(nil);
try
frmQuery.TestDoctor:=FTestDoctor;
frmQuery.SicknessSection:=FSicknessSection;
frmQuery.Diagnostic:=FDiagnostic;
frmQuery.Department:=FDepartment;
frmQuery.SendDoctor:=FSendDoctor;
frmQuery.LoadDictionary;
frmQuery.cboSampleSource.Items.Text:=cboSampleSource.Items.Text;
frmQuery.ShowModal;
if frmQuery.QueryReturn.Succeed then
begin
Screen.Cursor:=crHourGlass;
try
LoadDataByCondition(frmQuery.QueryReturn.SQL);
ReadReport;
finally
Screen.Cursor:=crDefault;
end;
end;
finally
frmQuery.Free;
end;
end;
procedure TfrmCellMarrowMain.ToolButton12Click(Sender: TObject);
begin
Close;
end;
procedure TfrmCellMarrowMain.dbgLiveMarrowKeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key in [37..40] then ReadReport;
end;
procedure TfrmCellMarrowMain.dbgLiveMarrowMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button in [mbLeft,mbRight] then ReadReport;
end;
procedure TfrmCellMarrowMain.memTestResultDblClick(Sender: TObject);
var
tem:TPoint;
begin
frmAdviceTemplet:=TfrmAdviceTemplet.Create(nil);
frmAdviceTemplet.Advice:=memTestResult;
frmAdviceTemplet.LMAT:=FTestResult;
frmAdviceTemplet.DataSource1.DataSet:=FTestResult.Query;
tem:=ClientToScreen(Point(Panel2.Left,Panel2.Top));
frmAdviceTemplet.Top:=tem.Y-70;
frmAdviceTemplet.Left:=tem.X;
frmAdviceTemplet.Caption:='診斷模板';
frmAdviceTemplet.ShowModal;
if frmAdviceTemplet.Succeed then
begin
if (FTestResult.Query.Active=False)or(FTestResult.Query.RecordCount<1) then Exit;
memTestResult.Text:=TBasoUtils.GetDataFromField(FTestResult.Query,'Advice','');
end;
frmAdviceTemplet.Free;
end;
procedure TfrmCellMarrowMain.memAdviceDblClick(Sender: TObject);
var
tem:TPoint;
begin
frmAdviceTemplet:=TfrmAdviceTemplet.Create(nil);
frmAdviceTemplet.Advice:=memAdvice;
frmAdviceTemplet.LMAT:=FAdvice;
frmAdviceTemplet.DataSource1.DataSet:=FAdvice.Query;
tem:=ClientToScreen(Point(Panel2.Left,Panel2.Top));
frmAdviceTemplet.Top:=tem.Y+40;
frmAdviceTemplet.Left:=tem.X;
frmAdviceTemplet.Caption:='意見模板';
frmAdviceTemplet.ShowModal;
if frmAdviceTemplet.Succeed then
begin
if (FAdvice.Query.Active=False)or(FAdvice.Query.RecordCount<1) then Exit;
memAdvice.Text:=TBasoUtils.GetDataFromField(FAdvice.Query,'Advice','');
end;
frmAdviceTemplet.Free;
end;
procedure TfrmCellMarrowMain.LoadReportInfToTemplet(Cell:TCell);
procedure SetReportInf(col:Integer;row:Integer;svalue:string);
var
sOrigin:string;
begin
sOrigin:=Cell.GetCellString(col,row,0);
Cell.SetCellString(col,row,0,sOrigin+svalue);
end;
procedure SetReportPicture;
var
i:integer;
count:integer;
OriginBookMark:string;
begin
if (FPicture.Query.Active=False)or(FPicture.Query.RecordCount<1) then Exit;
OriginBookMark:=FPicture.Query.Bookmark;
FPicture.Query.DisableControls;
try
FPicture.Query.First;
count:=0;
for i:=1 to FPicture.Query.RecordCount do
begin
if count>=2 then Break;
if FPicture.Query.FieldByName('Printed').AsInteger=1 then
begin
TBlobField(FPicture.Query.FieldByName('Picture')).SaveToFile('cellmarrow.jpg');
count:=count+1;
if count=1 then
begin
Cell.SetCellImage(2,9,0,Cell.AddImage('cellmarrow.jpg'),1,1,1);
end else if count=2 then
begin
Cell.SetCellImage(7,9,0,Cell.AddImage('cellmarrow.jpg'),1,1,1);
end;
end;
FPicture.Query.Next;
end;
finally
FPicture.Query.Bookmark := OriginBookMark;
FPicture.Query.EnableControls;
end;
end;
begin
if Assigned(Cell)=False then Exit;
if (FPatient.Query.Active=False)or(FPatient.Query.RecordCount<1) then Exit;
//加載病人信息
SetReportInf(1,3,TBasoUtils.GetDataFromField(FPatient.Query,'PatientName',''));
SetReportInf(3,3,TBasoUtils.GetDataFromField(FPatient.Query,'Sex',''));
SetReportInf(5,3,TBasoUtils.GetDataFromField(FPatient.Query,'Birthday','')+
TBasoUtils.GetDataFromField(FPatient.Query,'BirthdayUnit',''));
SetReportInf(7,3,TBasoUtils.GetDataFromField(FPatient.Query,'OutOrIn','')+
TBasoUtils.GetDataFromField(FPatient.Query,'PatientCode',''));
SetReportInf(9,3,TBasoUtils.GetDataFromField(FPatient.Query,'TestNumber',''));
SetReportInf(1,5,TBasoUtils.GetDataFromField(FPatient.Query,'SampleSource',''));
SetReportInf(1,4,TBasoUtils.GetDataFromField(FPatient.Query,'Department',''));
SetReportInf(3,4,TBasoUtils.GetDataFromField(FPatient.Query,'SickSection',''));
SetReportInf(5,4,TBasoUtils.GetDataFromField(FPatient.Query,'BedCode',''));
SetReportInf(7,4,TBasoUtils.GetDataFromField(FPatient.Query,'SendDoctor',''));
SetReportInf(9,4,DateToStr(TBasoUtils.GetDataFromField(FPatient.Query,'SendDate',Today)));
SetReportInf(7,5,TBasoUtils.GetDataFromField(FPatient.Query,'Diagnositic',''));
SetReportInf(2,27,TBasoUtils.GetDataFromField(FPatient.Query,'TestResult',''));
SetReportInf(2,38,TBasoUtils.GetDataFromField(FPatient.Query,'Advice',''));
SetReportInf(8,53,TBasoUtils.GetDataFromField(FPatient.Query,'TestDoctor',''));
SetReportInf(8,54,DateToStr(TBasoUtils.GetDataFromField(FPatient.Query,'TestDate',Today)));
//加載圖片信息
SetReportPicture;
end;
procedure TfrmCellMarrowMain.ToolButton10Click(Sender: TObject);
begin
frmCellMarrowPrint:=TfrmCellMarrowPrint.Create(nil);
frmCellMarrowPrint.LoadTemplet;
LoadReportInfToTemplet(frmCellMarrowPrint.Cell1);
frmCellMarrowPrint.PriviewReport;
frmCellMarrowPrint.Free;
end;
procedure TfrmCellMarrowMain.ToolButton9Click(Sender: TObject);
begin
frmCellMarrowPrint:=TfrmCellMarrowPrint.Create(nil);
frmCellMarrowPrint.LoadTemplet;
LoadReportInfToTemplet(frmCellMarrowPrint.Cell1);
frmCellMarrowPrint.PrintReport;
frmCellMarrowPrint.Free;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -