Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.03 Mб
Скачать

Приложение а (обязательное) Листинг программы «Главное окно программы»

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.