.


:




:

































 

 

 

 


. 1 .., .., .




 

 

1 .., .., .. : . / . . .. , .. . : , 2005, 320 .

2 , , , . Microsoft Exchange Server 2003. = Microsoft Exchange Server 2003 Unleashed. - .:, 2006. -. 1024. - ISBN 0-672-32581-0.

3 http://www.mgkb5oren.ru/ 5 .

4 . . . . . 5. : , 2005, 320 .

5 .., .., .. - . / 4 (14). , 2005.

6 http://www.minzdrav.orb.ru/

7 .. . : , 1985. 512.

8 : . . / , 2003, , ISSN 1812-7339. 2015, 1(810).

9 : . . / , 2003, , ISSN 1812-7339. 2013, 7(589).

10 -: . . / , 2000, , ISSN 2313-0318. 2014, 2.

11 , . MySQL Server 2005. .: . . : .. , 2007. 832.: . . . ISBN 978-5-8459-1202-2 (.)

12 .. . SQL: . / .. . : , 2010. 159 .

13 .. Delphi. . -: , 2005. 477 .

14 : . . / , 2000, , 2009, 6 (4).

15 . . : [ ] / . .. : http://www.worldbank.org.ru. 15.09.2014.

16 . . . . . 3. / . . . : , 2002. 320 .

17 . . : / . . // -2002: . : , 2002. . 54 58.

18 . . / . . , . . , . . . // . 1998. 1. .134 140.

19 .., .., .. : . . . , . . . : , 2005. 320 .

20 .., .. : . : . "", 2009. 192 .

21 .. : . : , 2003. 145.

22 : / .. [ ]. , 2004. 282.:

23 .. : . -: , 2001. 480.

24 .3. : . / .3. , .. , .. . : - , 2005. 70 .

25 . SQL: . - .: Peachpit Press, 2003. 456 .

26 ., . - . -: , 2003. 528 .

27 .., .., .. : . . : : -, 2007. 400 .

28 3- / . [ .]. -: , 2010. 544 .

29 .., .., .. . - , - ˔, , , 1994.

30 .., .., .. . - , , , 1999.

31 .. (1995) - - --04̔, .

 

 

()

unit Main;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBGridEhGrouping, Menus, GridsEh, DBGridEh, RzButton, ImgList,

ExtCtrls, RzPanel, RzTabs, DB, ADODB, SysUtilites, shellapi;

 

type

TfmMain = class(TForm)

ADOConnection1: TADOConnection;

ImageList1: TImageList;

RzPanel1: TRzPanel;

RzPageControl1: TRzPageControl;

TabSheet1: TRzTabSheet;

DBGridEh1: TDBGridEh;

RzToolbar2: TRzToolbar;

BtnInsertRecord: TRzToolButton;

BtnEdit: TRzToolButton;

BtnDelete: TRzToolButton;

TabSheet2: TRzTabSheet;

TabSheet3: TRzTabSheet;

mm1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N2: TMenuItem;

N5: TMenuItem;

N4: TMenuItem;

RzToolbar1: TRzToolbar;

RzToolButton1: TRzToolButton;

RzToolButton2: TRzToolButton;

RzToolButton3: TRzToolButton;

DBGridEh2: TDBGridEh;

RzToolbar3: TRzToolbar;

RzToolButton4: TRzToolButton;

RzToolButton5: TRzToolButton;

RzToolButton6: TRzToolButton;

DBGridEh3: TDBGridEh;

DataSource1: TDataSource;

qPatients: TADOQuery;

qMarkers: TADOQuery;

DataSource2: TDataSource;

DataSource3: TDataSource;

qDisease: TADOQuery;

qDiseaseID: TAutoIncField;

qDiseaseNAME: TStringField;

qDiseaseDESCRIPTION: TStringField;

qDiseaseSYMPTOM: TStringField;

qDiseaseTYPE: TSmallintField;

qMarkersID: TAutoIncField;

qMarkersNAME: TStringField;

qMarkersDESCRIPTION: TStringField;

qMarkersNORMAL_VALUE: TBCDField;

qPatientsNAME: TStringField;

qPatientsNORMAL_VALUE: TBCDField;

qPatientsID: TAutoIncField;

qPatientsFIO: TStringField;

qPatientsPOL: TStringField;

qPatientsDATE_OF_BIRTH: TDateTimeField;

qPatientsDATE_OF_SURVEY: TDateTimeField;

qPatientsSMOKES: TStringField;

qPatientsEXPECTANT: TStringField;

qPatientsRESULT: TBCDField;

qPatientsRESULT_S: TStringField;

qPatientsMRT: TStringField;

qPatientsUZI: TStringField;

qPatientsRADIOGRAPHY: TStringField;

qPatientsDISEASE_NAME: TStringField;

procedure N3Click(Sender: TObject);

procedure RzToolButton1Click(Sender: TObject);

procedure RzToolButton2Click(Sender: TObject);

procedure RzToolButton4Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure RzToolButton5Click(Sender: TObject);

procedure RzToolButton3Click(Sender: TObject);

procedure qMarkersAfterOpen(DataSet: TDataSet);

procedure RzToolButton6Click(Sender: TObject);

procedure BtnInsertRecordClick(Sender: TObject);

procedure BtnDeleteClick(Sender: TObject);

procedure BtnEditClick(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure RefreshData;

end;

 

var

fmMain: TfmMain;

 

implementation

 

uses AddMarker, AddDisease, AddPatients, About;

 

{$R *.dfm}

 

procedure TfmMain.RefreshData;

begin

if qPatients.Active then

qPatients.Close;

qPatients.Open;

 

if qMarkers.Active then

qMarkers.Close;

qMarkers.Open;

 

if qDisease.Active then

qDisease.Close;

qDisease.Open;

end;

 

procedure TfmMain.N3Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmMain.RzToolButton1Click(Sender: TObject);

begin

if fmAddMarker=nil then

Application.CreateForm(TfmAddMarker,fmAddMarker);

fmAddMarker.MODE:=wmAdd;

fmAddMarker.ShowModal;

end;

 

procedure TfmMain.RzToolButton2Click(Sender: TObject);

begin

if fmAddMarker=nil then

Application.CreateForm(TfmAddMarker,fmAddMarker);

fmAddMarker.MODE:=wmEdit;

fmAddMarker.MARKER_ID:=qMarkers.FieldByName('ID').AsInteger;

fmAddMarker.ShowModal;

end;

 

procedure TfmMain.RzToolButton4Click(Sender: TObject);

begin

if fmAddDisease=nil then

Application.CreateForm(TfmAddDisease,fmAddDisease);

fmAddDisease.MODE:=wmAdd;

fmAddDisease.ShowModal;

end;

 

procedure TfmMain.FormShow(Sender: TObject);

begin

RefreshData;

end;

 

procedure TfmMain.RzToolButton5Click(Sender: TObject);

begin

if fmAddDisease=nil then

Application.CreateForm(TfmAddDisease,fmAddDisease);

fmAddDisease.MODE:=wmEdit;

fmAddDisease.DISEASE_ID:=qDisease.FieldByName('ID').AsInteger;

fmAddDisease.ShowModal;

end;

 

procedure TfmMain.RzToolButton3Click(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg(' ?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:ID1;'+

'delete from markers where id =:ID2;';

Tb.Parameters[0].Value:=qMarkers.FieldByName('ID').AsInteger;

Tb.Parameters[1].Value:=qMarkers.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

 

RefreshData;

end;

 

procedure TfmMain.qMarkersAfterOpen(DataSet: TDataSet);

begin

RzToolButton2.Enabled:=not qMarkers.IsEmpty;

RzToolButton3.Enabled:=not qMarkers.IsEmpty;

end;

 

procedure TfmMain.RzToolButton6Click(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg(' ?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where disease_id =:ID1;'+

'delete from disease where id =:ID2;';

Tb.Parameters[0].Value:=qDisease.FieldByName('ID').AsInteger;

Tb.Parameters[1].Value:=qDisease.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

 

RefreshData;

end;

 

procedure TfmMain.BtnInsertRecordClick(Sender: TObject);

begin

if fmAddPatients = nil then

Application.CreateForm(TfmAddPatients,fmAddPatients);

fmAddPatients.MODE:=wmAdd;

fmAddPatients.ShowModal;

end;

 

procedure TfmMain.BtnDeleteClick(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg(' ?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from patients where id =:ID';

Tb.Parameters[0].Value:=qPatients.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

RefreshData;

end;

 

procedure TfmMain.BtnEditClick(Sender: TObject);

begin

if fmAddPatients = nil then

Application.CreateForm(TfmAddPatients,fmAddPatients);

fmAddPatients.MODE:=wmEdit;

fmAddPatients.PATIENT_ID:=qPatients.FieldByName('ID').AsInteger;

fmAddPatients.ShowModal;

end;

 

procedure TfmMain.N4Click(Sender: TObject);

begin

if fmAbout = nil then

Application.CreateForm(TfmAbout, fmAbout);

fmAbout.ShowModal;

end;

 

procedure TfmMain.N5Click(Sender: TObject);

begin

ShellExecute(Handle, 'open', 'C:\Medical.chm',nil, nil, SW_SHOW);

end;

end.

()

unit AddMarker;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, SysUtilites, StdCtrls, DBGridEhGrouping, RzButton, GridsEh,

DBGridEh, ImgList, ExtCtrls, RzPanel, DB, ADODB, Mask, DBCtrlsEh,

DBLookupEh;

 

type

TfmAddMarker = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Memo1: TMemo;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

GroupBox3: TGroupBox;

Button1: TButton;

Button2: TButton;

RzToolbar1: TRzToolbar;

ImageList1: TImageList;

RzToolbar2: TRzToolbar;

DBGridEh2: TDBGridEh;

BtnInsertRecord: TRzToolButton;

BtnDeleteRecord: TRzToolButton;

BtnInsertRecord1: TRzToolButton;

BtnDeleteRecord1: TRzToolButton;

DBLookupComboboxEh1: TDBLookupComboboxEh;

DBLookupComboboxEh2: TDBLookupComboboxEh;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

ADOQuery3: TADOQuery;

ADOQuery4: TADOQuery;

DataSource4: TDataSource;

DBGridEh1: TDBGridEh;

ADOQuery1ID: TAutoIncField;

ADOQuery1NAME: TStringField;

ADOQuery1DESCRIPTION: TStringField;

ADOQuery1SYMPTOM: TStringField;

ADOQuery1TYPE: TSmallintField;

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure RefreshDisease;

procedure BtnInsertRecordClick(Sender: TObject);

procedure BtnInsertRecord1Click(Sender: TObject);

procedure BtnDeleteRecordClick(Sender: TObject);

procedure BtnDeleteRecord1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

MARKER_ID:integer;

end;

 

var

fmAddMarker: TfmAddMarker;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddMarker.Button2Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmAddMarker.FormClose(Sender: TObject;

var Action: TCloseAction);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where marder_id = 0';

Tb.ExecSQL;

finally

Tb.Free;

end;

Action:=caFree;

end;

 

procedure TfmAddMarker.FormDestroy(Sender: TObject);

begin

fmAddMarker:=nil;

end;

 

procedure TfmAddMarker.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

ADOQuery1.Open;

ADOQuery2.Open;

 

RefreshDisease;

 

if MODE=wmAdd then

begin

fmAddMarker.Caption:=' ';

end else

begin

fmAddMarker.Caption:=' ';

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from markers where id =:id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Open;

if not Tb.IsEmpty then begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Edit2.Text:=Tb.FieldByName('NORMAL_VALUE').AsString;

end;

Tb.Close;

finally

Tb.Free;

end;

 

end;

end;

 

procedure TfmAddMarker.RefreshDisease;

begin

if ADOQuery3.Active then

ADOQuery3.Close;

 

if ADOQuery4.Active then

ADOQuery4.Close;

 

if MODE=wmAdd then

begin

ADOQuery3.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id = 0 and disease.type = 0';

ADOQuery3.Open;

 

ADOQuery4.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id = 0 and disease.type = 1';

ADOQuery4.Open;

end else

begin

 

ADOQuery3.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id =:ID and disease.type = 0';

ADOQuery3.Parameters[0].Value:=MARKER_ID;

ADOQuery3.Open;

 

ADOQuery4.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id =:ID and disease.type = 1';

ADOQuery4.Parameters[0].Value:=MARKER_ID;

ADOQuery4.Open;

end;

end;

 

procedure TfmAddMarker.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into markers(NAME,DESCRIPTION,NORMAL_VALUE) values(:NAME,:DESCRIPTION,:NORMAL_VALUE);'+

'select Max(ID) from markers;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

try

Tb.Parameters[2].Value:=StrToFloat(Edit2.Text);

except

Tb.Parameters[2].Value:=0;

end;

Tb.Open;

if not Tb.IsEmpty then

MARKER_ID:=Tb.Fields[0].AsInteger;

Tb.Close;

 

Tb.SQL.Text:='update oncological_diseases set marder_id =:marder_id where marder_id = 0';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.ExecSQL;

end else

begin

///Edit

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddMarker.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9', #8, DecimalSeparator])then Key:=#0;

end;

 

procedure TfmAddMarker.BtnInsertRecordClick(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=DBLookupComboboxEh1.KeyValue;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=DBLookupComboboxEh1.KeyValue;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnInsertRecord1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=DBLookupComboboxEh2.KeyValue;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=DBLookupComboboxEh2.KeyValue;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnDeleteRecordClick(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=ADOQuery3.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=ADOQuery3.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnDeleteRecord1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=ADOQuery4.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=ADOQuery4.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

end.

 

 

()

unit AddDisease;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, SysUtilites;

type

TfmAddDisease = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Memo1: TMemo;

Label3: TLabel;

Memo2: TMemo;

Label4: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

DISEASE_ID:integer;

end;

var

fmAddDisease: TfmAddDisease;

implementation

uses Main;

{$R *.dfm}

procedure TfmAddDisease.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TfmAddDisease.FormDestroy(Sender: TObject);

begin

fmAddDisease:=nil;

end;

procedure TfmAddDisease.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE = wmAdd then

begin

Tb.SQL.Text:='insert into disease(NAME,DESCRIPTION,SYMPTOM,TYPE) values(:NAME,:DESCRIPTION,:SYMPTOM,:TYPE)';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update disease set NAME=:NAME, DESCRIPTION=:DESCRIPTION, SYMPTOM=:SYMPTOM, TYPE=:TYPE where id =:id;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.Parameters[4].Value:=DISEASE_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

procedure TfmAddDisease.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

if MODE = wmAdd then

begin

fmAddDisease.Caption:=' ';

end else

begin

fmAddDisease.Caption:=' ';

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from disease where id =:id';

Tb.Parameters[0].Value:=DISEASE_ID;

Tb.Open;

if not Tb.IsEmpty then

begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Memo2.Lines.Text:=Tb.FieldByName('SYMPTOM').AsString;

Combobox1.ItemIndex:=Tb.FieldByName('TYPE').AsInteger;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

procedure TfmAddDisease.Button2Click(Sender: TObject);

begin

Close;

end;

end.

 

 

()

unit AddPatients;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, SysUtilites, DBGridEh, StdCtrls, ExtCtrls, ComCtrls, Mask,

DBCtrlsEh, DBLookupEh, DB, ADODB;

 

type

TfmAddPatients = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

DBLookupComboboxEh1: TDBLookupComboboxEh;

Label7: TLabel;

Edit1: TEdit;

ComboBox1: TComboBox;

DateTimePicker1: TDateTimePicker;

ComboBox2: TComboBox;

DateTimePicker2: TDateTimePicker;

ComboBox3: TComboBox;

Label8: TLabel;

DBLookupComboboxEh2: TDBLookupComboboxEh;

Label9: TLabel;

Edit2: TEdit;

Bevel1: TBevel;

Button1: TButton;

Button2: TButton;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

ADOQuery2ID: TAutoIncField;

ADOQuery2NAME: TStringField;

ADOQuery2DESCRIPTION: TStringField;

ADOQuery2NORMAL_VALUE: TBCDField;

ADOQuery1ID: TAutoIncField;

ADOQuery1NAME: TStringField;

ADOQuery1DESCRIPTION: TStringField;

ADOQuery1SYMPTOM: TStringField;

ADOQuery1TYPE: TSmallintField;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

PATIENT_ID:integer;

end;

 

var

fmAddPatients: TfmAddPatients;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddPatients.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAddPatients.FormDestroy(Sender: TObject);

begin

fmAddPatients:=nil;

end;

 

procedure TfmAddPatients.Button1Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmAddPatients.Button2Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into patients(FIO,POL,DATE_OF_BIRTH,DATE_OF_SURVEY,PRELIMINARY_DIAGNOSIS,SMOKES,EXPECTANT,MARKER,RESULT,MRT,UZI,RADIOGRAPHY) '+

'values(:FIO,:POL,:DATE_OF_BIRTH,:DATE_OF_SURVEY,:PRELIMINARY_DIAGNOSIS,:SMOKES,:EXPECTANT,:MARKER,:RESULT,:MRT,:UZI,:RADIOGRAPHY)';

Tb.Parameters[0].Value:=Edit1.Text;

Tb.Parameters[1].Value:=ComboBox1.ItemIndex;

Tb.Parameters[2].Value:=DateTimePicker1.Date;

Tb.Parameters[3].Value:=DateTimePicker2.Date;

Tb.Parameters[4].Value:=DBLookupComboboxEh1.KeyValue;

Tb.Parameters[5].Value:=ComboBox2.ItemIndex;

Tb.Parameters[6].Value:=ComboBox3.ItemIndex;

Tb.Parameters[7].Value:=DBLookupComboboxEh2.KeyValue;

Tb.Parameters[8].Value:=Edit2.Text;

if not CheckBox1.Checked then

Tb.Parameters[9].Value:=0

else

Tb.Parameters[9].Value:=1;

if not CheckBox2.Checked then

Tb.Parameters[10].Value:=0

else

Tb.Parameters[10].Value:=1;

if not CheckBox3.Checked then

Tb.Parameters[11].Value:=0

else

Tb.Parameters[11].Value:=1;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update patients set FIO=:FIO,POL=:POL,DATE_OF_BIRTH=:DATE_OF_BIRTH,DATE_OF_SURVEY=:DATE_OF_SURVEY,PRELIMINARY_DIAGNOSIS=:PRELIMINARY_DIAGNOSIS,'+

'SMOKES=:SMOKES,EXPECTANT=:EXPECTANT,MARKER=:MARKER,RESULT=:RESULT,MRT=:MRT,UZI=:UZI,RADIOGRAPHY=:RADIOGRAPHY where ID =:ID';

Tb.Parameters[0].Value:=Edit1.Text;

Tb.Parameters[1].Value:=ComboBox1.ItemIndex;

Tb.Parameters[2].Value:=DateTimePicker1.Date;

Tb.Parameters[3].Value:=DateTimePicker2.Date;

Tb.Parameters[4].Value:=DBLookupComboboxEh1.KeyValue;

Tb.Parameters[5].Value:=ComboBox2.ItemIndex;

Tb.Parameters[6].Value:=ComboBox3.ItemIndex;

Tb.Parameters[7].Value:=DBLookupComboboxEh2.KeyValue;

Tb.Parameters[8].Value:=Edit2.Text;

if not CheckBox1.Checked then

Tb.Parameters[9].Value:=0

else

Tb.Parameters[9].Value:=1;

if not CheckBox2.Checked then

Tb.Parameters[10].Value:=0

else

Tb.Parameters[10].Value:=1;

if not CheckBox3.Checked then

Tb.Parameters[11].Value:=0

else

Tb.Parameters[11].Value:=1;

 

Tb.Parameters[12].Value:=PATIENT_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddPatients.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

ADOQuery1.Open;

ADOQuery2.Open;

 

if MODE=wmAdd then

begin

fmAddPatients.Caption:= ' ';

end else

begin

fmAddPatients.Caption:=' ';

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from patients where id =:id';

Tb.Parameters[0].Value:=PATIENT_ID;

Tb.Open;

if not Tb.IsEmpty then begin

Edit1.Text:=Tb.FieldByName('FIO').AsString;

ComboBox1.ItemIndex:=Tb.FieldByName('POL').AsInteger;

DateTimePicker1.Date:=Tb.FieldByName('DATE_OF_BIRTH').AsDateTime;

DateTimePicker2.Date:=Tb.FieldByName('DATE_OF_SURVEY').AsDateTime;

DBLookupComboboxEh1.KeyValue:=Tb.FieldByName('PRELIMINARY_DIAGNOSIS').AsInteger;

ComboBox2.ItemIndex:=Tb.FieldByName('SMOKES').AsInteger;

ComboBox3.ItemIndex:=Tb.FieldByName('EXPECTANT').AsInteger;

DBLookupComboboxEh2.KeyValue:=Tb.FieldByName('MARKER').AsInteger;

Edit2.Text:=Tb.FieldByName('RESULT').AsString;

if Tb.FieldByName('MRT').AsInteger=1 then

CheckBox1.Checked:=true

else

CheckBox1.Checked:=false;

if Tb.FieldByName('UZI').AsInteger=1 then

CheckBox2.Checked:=true

else

CheckBox2.Checked:=false;

if Tb.FieldByName('RADIOGRAPHY').AsInteger=1 then

CheckBox3.Checked:=true

else

CheckBox3.Checked:=false;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

 

end.

 

()

unit AddDisease;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, SysUtilites;

type

TfmAddDisease = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Memo1: TMemo;

Label3: TLabel;

Memo2: TMemo;

Label4: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

DISEASE_ID:integer;

end;

 

var

fmAddDisease: TfmAddDisease;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddDisease.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAddDisease.FormDestroy(Sender: TObject);

begin

fmAddDisease:=nil;

end;

 

procedure TfmAddDisease.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE = wmAdd then

begin

Tb.SQL.Text:='insert into disease(NAME,DESCRIPTION,SYMPTOM,TYPE) values(:NAME,:DESCRIPTION,:SYMPTOM,:TYPE)';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update disease set NAME=:NAME, DESCRIPTION=:DESCRIPTION, SYMPTOM=:SYMPTOM, TYPE=:TYPE where id =:id;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.Parameters[4].Value:=DISEASE_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddDisease.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

if MODE = wmAdd then

begin

fmAddDisease.Caption:=' ';

end else

begin

fmAddDisease.Caption:=' ';

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from disease where id =:id';

Tb.Parameters[0].Value:=DISEASE_ID;

Tb.Open;

if not Tb.IsEmpty then

begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Memo2.Lines.Text:=Tb.FieldByName('SYMPTOM').AsString;

Combobox1.ItemIndex:=Tb.FieldByName('TYPE').AsInteger;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

 

procedure TfmAddDisease.Button2Click(Sender: TObject);

begin

Close;

end;

 

end.

 

 

()

unit About;

 

interface

 

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls;

 

type

TfmAbout = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton;

procedure OKButtonClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmAbout: TfmAbout;

 

implementation

 

{$R *.dfm}

 

procedure TfmAbout.OKButtonClick(Sender: TObject);

begin

Close;

end;

 

procedure TfmAbout.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAbout.FormDestroy(Sender: TObject);

begin

fmAbout:=nil;

end;

 

end.

 

()

unit GenReport;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, DB, ADODB, DateUtils, COMObj, frxClass,

frxADOComponents;

type

TfmGenReport = class(TForm)

Button1: TButton;

Button2: TButton;

Label1: TLabel;

DateTimePicker1: TDateTimePicker;

Label2: TLabel;

DateTimePicker2: TDateTimePicker;

frxReport1: TfrxReport;

frxADOComponents1: TfrxADOComponents;

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmGenReport: TfmGenReport;

implementation

uses Main;

{$R *.dfm}

procedure TfmGenReport.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TfmGenReport.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TfmGenReport.FormDestroy(Sender: TObject);

begin

fmGenReport:=nil;

end;

procedure TfmGenReport.Button1Click(Sender: TObject);

begin

frxReport1.LoadFromFile('report.fr3');

(frxReport1.FindObject('Memo14') as TfrxMemoView).Text:='Ñïèñîê ïàöèåíòîâ ïðîõîäèâøèõ îáñëåäîâàíèå çà ïåðèîä ñ '+DateToStr(DateTimePicker1.Date)+' ïî '+DateToStr(DateTimePicker2.Date);

(frxReport1.FindObject('ADOQuery1') as TfrxADOQuery).ParamByName('DATN').Value:=RecodeTime(DateTimePicker1.Date, 00, 00, 00, 00);

(frxReport1.FindObject('ADOQuery1') as TfrxADOQuery).ParamByName('DATK').Value:=RecodeTime(DateTimePicker2.Date, 23, 59, 59, 00);

frxReport1.ShowReport();

end;

end.

 

 

()

.1

()





:


: 2015-11-23; !; : 522 |


:

:

, .
==> ...

1848 - | 1663 -


© 2015-2024 lektsii.org - -

: 0.768 .