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

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

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.