Разработка программного обеспечения для спирографического обследования

Методы исследования функции внешнего дыхания. Клинико-физиологические возможности спирографии. Разработка программы "СпироТест" в среде программирования Borland Delphi 7.0. Анализ технико-экономических показателей и экономической целесообразности проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.04.2014
Размер файла 916,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

4.12 Расчет продажной стоимости

Таблица 4.11 - Результаты расчета продажной стоимости

Операция

Сумма, руб.

Начисление дохода исполнителю

14247

Налоги ИСП : Уплата налога на прибыль исполнителя

2849

Начисление процентов заказчику

35619

Продажная стоимость с НДС

227964

Денежный доход исполнителя

40630

По результатам расчетов продажной стоимости программы составит 227 964 руб.

Заключение

Во время выполнения работы, было разработано «Программное обеспечения для спирографического обследования», которое осуществляет информационную поддержку медиков и позволяет упростить труд ведение учёта пациентов, а так же много кратное уменьшение времени создание отчетов в определенные промежутки времени. Были рассмотрены теоретические основы спирографического обследования, а именно причины болезней органов дыхания и основные показатели измеряющиеся в ходе обследования.

C помощью PARADOX 7 разработана база данных, содержащая 3 таблицы. Программным средством для создания программы «СпироТест» является среда разработки Borland Delphi 7.0. Разработана схема данных, схема функционирования программного продукта, описано проектирование пользовательского интерфейса и квантификация, приведены результаты работы программного продукта.

Рассмотрены опасные и вредные производственные факторы на рабочем месте оператора ЭВМ и проведен анализ технико-экономических показателей и обоснование экономической целесообразности принятых в проекте решений.

Библиографический список

1. Архангельский А. Я. Программирование в Delphi 7. - М.: Бином, 2003. - 1152 с.

2. Горбенко П.П. Новые медицинские технологии в профилактике и лечении заболеваний органов дыхания. Л.: ВНИИП, 1990.

3. Зиневич А.Н. Приборные методы исследования органов дыхания. Л.: ЛенГИДУВ, 1991.

4. Исследование функции внешнего дыхания у больных с туберкулезом легких ( методич. указания). Составлено канд. мед. наук Т. М. Высоковой. М.: МНИИ туберкулеза, 1971.

5. Кэнту М. Delphi 7. Для профессионалов. - СПб.: Питер, 2004. - 1101 с: ил.

6. Парфенов Ю. П., Иноземцев А. В. Разработка приложений для обработки баз данных на основе технологии ADO: Конспект лекций и методические указания по курсу «Промышленные СУБД». - Екатеринбург: Издательство УМЦ УПИ, 2003. - 43 с.

7. Современные методы диагностики и лечения заболеваний органов дыхания. Сб. научн. тр. (Под ред. А.Г.Чучелина). - М.: Б. и., 1983.

8. Спирография (методика исследования и клинического использования). Методическое письмо (ВНИИ пульмонологии)/Под ред. Канаева Н.Н. - Л.: ВНИИП, 1972.

9. Фаронов В. В. Программирование баз данных в Delphi 7 - СПб.: Питер, 2003. - 459 с.

10. Ширяева И.С. Методические рекомендации для врачей кабинетов функциональной диагностики и для врачей-педиатров детских больниц и поликлиник - М., 1997.

Приложение A

Листинг для SpiroTestUnit

unit SpiroTestUnit;

interface

uses

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

Dialogs, ComCtrls, Menus, StdCtrls, Grids, DB, DBTables, DBGrids,

ExtCtrls, DBCtrls, TeeProcs, TeEngine, Chart, DbChart, Mask, Series;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N6: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

VewPageControl: TPageControl;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

Edit1: TEdit;

Button1: TButton;

GroupBox2: TGroupBox;

RedactPageControl: TPageControl;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet1: TTabSheet;

DBNavigator1: TDBNavigator;

GroupBox3: TGroupBox;

GroupBox4: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

DBGrid2: TDBGrid;

DataSource2: TDataSource;

Table2: TTable;

DBNavigator2: TDBNavigator;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Edit12: TEdit;

Edit13: TEdit;

Edit14: TEdit;

Edit15: TEdit;

DBGrid1: TDBGrid;

Table1: TTable;

DataSource1: TDataSource;

Label15: TLabel;

Edit16: TEdit;

ComboBox1: TComboBox;

Table3: TTable;

DataSource3: TDataSource;

DBGrid3: TDBGrid;

Label16: TLabel;

Edit11: TEdit;

Label17: TLabel;

Edit17: TEdit;

Label18: TLabel;

Edit18: TEdit;

Label19: TLabel;

Edit19: TEdit;

Label20: TLabel;

Edit20: TEdit;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBGrid5: TDBGrid;

Query1: TQuery;

Query2: TQuery;

DataSource4: TDataSource;

DataSource5: TDataSource;

StringGrid1: TStringGrid;

DBChart1: TDBChart;

Edit21: TEdit;

Label21: TLabel;

Button2: TButton;

DataSource6: TDataSource;

Table4: TTable;

Query3: TQuery;

DataSource7: TDataSource;

Series1: TPieSeries;

Edit22: TEdit;

Label22: TLabel;

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

procedure DBNavigator3Click(Sender: TObject; Button: TNavigateBtn);

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

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

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

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

procedure RadioButton1Click(Sender: TObject);

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

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton4Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure DataSource4DataChange(Sender: TObject; Field: TField);

procedure Button2Click(Sender: TObject);

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

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N8Click(Sender: TObject);

begin

VewPageControl.Visible:=False;

VewPageControl.Enabled:=False;

RedactPageControl.Visible:=True;

RedactPageControl.Enabled:=true;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

RedactPageControl.Enabled:=False;

RedactPageControl.Visible:=False;

VewPageControl.Visible:=True;

VewPageControl.Enabled:=True;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form1.Close;

//очищаем таблицу от записей

with Table4 do

begin

Active := False;

EmptyTable;

end;

end;

//Редактирование таблицы "TestInfo"

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

label

EF;

begin

case Button of

nbInsert: begin

if (Edit2.text='')or (Edit3.text='')or (Edit4.text='')or (Edit5.text='')or

(Edit6.text='')or (Edit7.text='')or (Edit8.text='')or (Edit9.text='')or (Edit10.text='')

then

begin

ShowMessage('Для добавления записи должны быть заполнены все поля!') ;

goto EF;

end;

Table1.InsertRecord([StrToInt(Edit2.Text),StrToInt(Edit3.Text),StrToInt(Edit4.Text),StrToInt(Edit5.Text),

StrToInt(Edit6.Text),StrToInt(Edit7.Text),StrToInt(Edit8.Text),StrToInt(Edit9.Text),StrToInt(Edit10.Text),ComboBox1.Text,StrTodate(Edit16.Text)]);

Edit2.Clear; Edit3.Clear;Edit4.Clear;Edit5.Clear;Edit6.Clear;Edit7.Clear;Edit8.Clear;Edit9.Clear;Edit10.Clear;Edit16.Clear;

EF:

end;

end;

end;

//Редактирование таблицы "Doctors"

procedure TForm1.DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);

label

EF;

begin

case Button of

nbInsert: begin

if (Edit12.text='')or (Edit13.text='')or (Edit14.text='')or (Edit15.text='') or (edit22.text='')

then

begin

ShowMessage('Для добавления записи должны быть заполнены все поля!') ;

goto EF;

end;

Table2.InsertRecord([Edit12.Text,Edit13.Text,Edit14.Text,Edit15.Text,edit22.text]);

Edit12.Clear; Edit13.Clear; Edit14.Clear; Edit15.Clear; Edit22.Clear;

EF:

end;

end;

end;

//Ограничение на ввод символов

procedure TForm1.Edit13KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit14KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit15KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit12KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'а'..'я',#8,'А'..'Я',#32:;

else key := Chr(0);

end;

end;

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

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit16KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9','.' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit8KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit10KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit9KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

//заполнение таблицы

procedure TForm1.DBNavigator3Click(Sender: TObject; Button: TNavigateBtn);

label

ef;

begin

case Button of

nbInsert: begin

if (edit11.text='') or (edit17.text='') or (edit18.text='')

or (edit19.text='') or (edit20.text='')

then

begin

ShowMessage('Для добавления записи должны быть заполнены все поля!') ;

goto EF;

end;

Table3.InsertRecord([Edit11.Text,StrToDate(Edit18.text),Edit17.Text,Edit19.Text,StrToInt(Edit20.Text)]);

Edit11.Clear;Edit17.Clear;Edit18.Clear;Edit19.Clear;Edit20.Clear;

ef:

end;

end

end;

//Ограничение на ввод символов

procedure TForm1.Edit11KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

'а'..'я',#8,'А'..'Я',#32:;

else key := Chr(0);

end;

end;

procedure TForm1.Edit19KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit18KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9','.' : ;

else key := Chr(0);

end;

end;

procedure TForm1.Edit20KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'0'..'9' : ;

else key := Chr(0);

end;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

Edit1.Enabled:=False;

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

//Ограничение на ввод символов

if RadioButton2.Checked then

Begin

Edit1.MaxLength:=30;

Case key of

'а'..'я',#8,'А'..'Я',#32:;

else key := Chr(0);

end;

end;

if RadioButton4.Checked then Edit1.MaxLength:=30;

if RadioButton3.Checked then

Begin

Edit1.MaxLength:=4;

case Key of

#8,'0'..'9' : ;

else key := Chr(0);

end;

end;

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

Edit1.Enabled:=True;

end;

procedure TForm1.RadioButton4Click(Sender: TObject);

begin

Edit1.Enabled:=True;

end;

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

Edit1.Enabled:=True;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

a,b:string;

begin

a:='01.01.'+Edit1.Text;

b:='31.12.'+Edit1.text;

Table4.Active:=True;

//Выборка всех записей

if radiobutton1.Checked then

begin

with form1.Query1 do begin

Close;

Sql.Clear;

SQL.Add('SELECT Name, Birth, Adres, Phone, ID');

SQL.Add('FROM "Pacients.db"');

SQL.Add('ORDER BY name');

open;

end;

edit1.Clear;

end;

//Выборка по имени

If radiobutton2.Checked then

begin

with form1.Query1 do begin

close;

Sql.Clear;

Sql.Add('SELECT Name, Birth, Adres, Phone, ID');

Sql.Add('FROM "Pacients.db"');

Sql.Add('WHERE');

Sql.Add('(Name like "%'+ Edit1.Text +'%")');

Sql.Add('ORDER BY Name');

open;

end;

edit1.Clear;

end;

//Выборка по адресу

If RadioButton4.Checked then

begin

with form1.Query1 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Name, Birth, Adres, Phone, ID');

Sql.Add('FROM "Pacients.db"');

Sql.Add('WHERE');

Sql.Add('(Adres like "%'+ Edit1.Text +'%")');

Sql.Add('ORDER BY Name');

open;

end;

edit1.Clear;

end;

//Выбока по дате рождения

If RadioButton3.Checked then

begin

{

with form1.Query1 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Name, Birth, Adres, Phone, ID');

Sql.Add('FROM "Pacients.db"');

Sql.Add('WHERE');

Sql.Add('(Birth = "'+ Edit1.Text +'")');

Sql.Add('ORDER BY Name');

open;

end;

}

with form1.Query1 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Name, Birth, Adres, Phone, ID');

Sql.Add('FROM "Pacients.db"');

Sql.Add('WHERE');

Sql.Add('(Birth BETWEEN "'+ a +'" AND "'+ b +'")');

Sql.Add('ORDER BY Name');

open;

end;

edit1.Clear;

end;

DBGrid4.Columns[0].Title.Caption:='Ф.И.О.';

DBGrid4.Columns[1].Title.Caption:='Дата рождения';

DBGrid4.Columns[2].Title.Caption:='Адрес';

DBGrid4.Columns[3].Title.Caption:='Телефон';

DBGrid4.Columns[4].Title.Caption:='ID';

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

RedactPageControl.Enabled:=False;

RedactPageControl.Visible:=False;

radiobutton1.Checked:=true;

DBGrid1.Columns[0].Title.Caption:='ID';

DBGrid1.Columns[1].Title.Caption:='Номер обследованмя';

DBGrid1.Columns[2].Title.Caption:='ЧД';

DBGrid1.Columns[3].Title.Caption:='ОО';

DBGrid1.Columns[4].Title.Caption:='ОЕЛ';

DBGrid1.Columns[5].Title.Caption:='ЖЕЛ';

DBGrid1.Columns[6].Title.Caption:='МВС';

DBGrid1.Columns[7].Title.Caption:='МВЛ';

DBGrid1.Columns[8].Title.Caption:='ОВЛ';

DBGrid1.Columns[9].Title.Caption:='Диагноз';

DBGrid1.Columns[10].Title.Caption:='Дата';

DBGrid2.Columns[0].Title.Caption:='Ф.И.О.';

DBGrid2.Columns[1].Title.Caption:='Пароль';

DBGrid2.Columns[2].Title.Caption:='Телефон';

DBGrid2.Columns[3].Title.Caption:='ID';

DBGrid2.Columns[4].Title.Caption:='Приоритет';

DBGrid3.Columns[0].Title.Caption:='Ф.И.О.';

DBGrid3.Columns[1].Title.Caption:='Дата рождения';

DBGrid3.Columns[2].Title.Caption:='Адрес';

DBGrid3.Columns[3].Title.Caption:='Телефон';

DBGrid3.Columns[4].Title.Caption:='ID';

end;

//отображение результатов обследования активной ячейки

procedure TForm1.DataSource4DataChange(Sender: TObject; Field: TField);

label

ef;

begin

if Query1.FieldValues['ID']=NULL then goto EF;

with form1.Query2 do begin

Close;

Sql.Clear;

Sql.Add('SELECT TestCount, Frequency, ResidualVolume, TotalLungCapacity, VitalCapacity, MBCapacity, MaxVolVentilation, TotalLungVentilation, Diagnos, TestDate');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(ID = "'+ IntToStr(Query1.FieldValues['ID']) +'")');

Sql.Add('ORDER BY TestCount');

open;

end;

DBGrid5.Columns[0].Title.Caption:='Номер обследованмя';

DBGrid5.Columns[1].Title.Caption:='ЧД';

DBGrid5.Columns[2].Title.Caption:='ОО';

DBGrid5.Columns[3].Title.Caption:='ОЕЛ';

DBGrid5.Columns[4].Title.Caption:='ЖЕЛ';

DBGrid5.Columns[5].Title.Caption:='МВС';

DBGrid5.Columns[6].Title.Caption:='МВЛ';

DBGrid5.Columns[7].Title.Caption:='ОВЛ';

DBGrid5.Columns[8].Title.Caption:='Диагноз';

DBGrid5.Columns[9].Title.Caption:='Дата';

EF:

end;

procedure TForm1.Button2Click(Sender: TObject);

label

ef;

Var

quantity:integer;

astmN,rinoN,bronxN,traxN,allergN:integer;

a,b:String;

q1a,q1b,q2a,q2b,q3a,q3b,q4a,q4b:string;

astm,rino,bronx,trax,allerg:string;

begin

if Edit21.text='' then Begin ShowMessage('Введите год!');goto ef; end;

Astm:='Бронхиальная астма';Rino:='Ринофарингит';bronx:='Абструктивный бронхит';trax:='Трахеобронхит';allerg:='Аллергический ренит';

a:='01.01.'+Edit21.Text; b:='31.12.'+Edit21.Text;

q1a:='01.01.'+Edit21.Text; q1b:='01.04.'+Edit21.Text;

q2a:='01.04.'+Edit21.Text; q2b:='01.07.'+Edit21.Text;

q3a:='01.07.'+Edit21.Text; q3b:='01.10.'+Edit21.Text;

q4a:='01.01.'+Edit21.Text; q4b:='31.12.'+Edit21.Text;

StringGrid1.Cells[0,0]:=Edit21.text;

StringGrid1.Cells[0,1]:='1 квартал';

StringGrid1.Cells[0,2]:='2 квартал';

StringGrid1.Cells[0,3]:='3 квартал';

StringGrid1.Cells[0,4]:='4 квартал';

StringGrid1.Cells[0,5]:='Год';

StringGrid1.Cells[1,0]:=astm;

StringGrid1.Cells[2,0]:=rino;

StringGrid1.Cells[3,0]:=bronx;

StringGrid1.Cells[4,0]:=trax;

StringGrid1.Cells[5,0]:=allerg;

//заполнение таблицы

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q1a +'" AND "'+ q1b +'") AND Diagnos = "'+ astm +'"');

open;

end;

StringGrid1.Cells[1,1]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q2a +'" AND "'+ q2b +'") AND Diagnos = "'+ astm +'"');

open;

end;

StringGrid1.Cells[1,2]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q3a +'" AND "'+ q3b +'") AND Diagnos = "'+ astm +'"');

open;

end;

StringGrid1.Cells[1,3]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q4a +'" AND "'+ q4b +'") AND Diagnos = "'+ astm +'"');

open;

end;

StringGrid1.Cells[1,4]:=IntToStr(Query3.FieldValues['Count(*)']);

//---------------------------------------------------------------------------------------

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q1a +'" AND "'+ q1b +'") AND Diagnos = "'+ rino +'"');

open;

end;

StringGrid1.Cells[2,1]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q2a +'" AND "'+ q2b +'") AND Diagnos = "'+ rino +'"');

open;

end;

StringGrid1.Cells[2,2]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q3a +'" AND "'+ q3b +'") AND Diagnos = "'+ rino +'"');

open;

end;

StringGrid1.Cells[2,3]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q4a +'" AND "'+ q4b +'") AND Diagnos = "'+ rino +'"');

open;

end;

StringGrid1.Cells[2,4]:=IntToStr(Query3.FieldValues['Count(*)']);

//--------------------------------------------------------------------------------------------------------------------------------------

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q1a +'" AND "'+ q1b +'") AND Diagnos = "'+ bronx +'"');

open;

end;

StringGrid1.Cells[3,1]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q2a +'" AND "'+ q2b +'") AND Diagnos = "'+ bronx +'"');

open;

end;

StringGrid1.Cells[3,2]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q3a +'" AND "'+ q3b +'") AND Diagnos = "'+ bronx +'"');

open;

end;

StringGrid1.Cells[3,3]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q4a +'" AND "'+ q4b +'") AND Diagnos = "'+ bronx +'"');

open;

end;

StringGrid1.Cells[3,4]:=IntToStr(Query3.FieldValues['Count(*)']);

//----------------------------------------------------------------------------------------

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q1a +'" AND "'+ q1b +'") AND Diagnos = "'+ trax +'"');

open;

end;

StringGrid1.Cells[4,1]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q2a +'" AND "'+ q2b +'") AND Diagnos = "'+ trax +'"');

open;

end;

StringGrid1.Cells[4,2]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q3a +'" AND "'+ q3b +'") AND Diagnos = "'+ trax +'"');

open;

end;

StringGrid1.Cells[4,3]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q4a +'" AND "'+ q4b +'") AND Diagnos = "'+ trax +'"');

open;

end;

StringGrid1.Cells[4,4]:=IntToStr(Query3.FieldValues['Count(*)']);

//--------------------------------------------------------------------------------------------------------------------------------------

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q1a +'" AND "'+ q1b +'") AND Diagnos = "'+ allerg +'"');

open;

end;

StringGrid1.Cells[5,1]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q2a +'" AND "'+ q2b +'") AND Diagnos = "'+ allerg +'"');

open;

end;

StringGrid1.Cells[5,2]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q3a +'" AND "'+ q3b +'") AND Diagnos = "'+ allerg +'"');

open;

end;

StringGrid1.Cells[5,3]:=IntToStr(Query3.FieldValues['Count(*)']);

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ q4a +'" AND "'+ q4b +'") AND Diagnos = "'+ allerg +'"');

open;

end;

StringGrid1.Cells[5,4]:=IntToStr(Query3.FieldValues['Count(*)']);

//------------------------------------------------------------------------------------------------

//подсчет числа каждого из заболеваний и заполнение YearQ

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ a +'" AND "'+ b +'") AND Diagnos = "'+ astm +'"');

open;

end;

Table4.InsertRecord([astm,Query3.FieldValues['Count(*)']]);

astmN:=Query3.FieldValues['Count(*)'];

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ a +'" AND "'+ b +'") AND Diagnos = "'+ rino +'"');

open;

end;

Table4.InsertRecord([rino,Query3.FieldValues['Count(*)']]);

rinoN:=Query3.FieldValues['Count(*)'];

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ a +'" AND "'+ b +'") AND Diagnos = "'+ bronx +'"');

open;

end;

Table4.InsertRecord([trax,Query3.FieldValues['Count(*)']]);

bronxN:=Query3.FieldValues['Count(*)'];

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ a +'" AND "'+ b +'") AND Diagnos = "'+ trax +'"');

open;

end;

Table4.InsertRecord([bronx,Query3.FieldValues['Count(*)']]);

traxN:=Query3.FieldValues['Count(*)'];

with form1.Query3 do begin

Close;

Sql.Clear;

Sql.Add('SELECT Count(*)');

Sql.Add('FROM "TestInfo.db"');

Sql.Add('WHERE');

Sql.Add('(TestDate BETWEEN "'+ a +'" AND "'+ b +'") AND Diagnos = "'+ allerg +'"');

open;

end;

Table4.InsertRecord([allerg,Query3.FieldValues['Count(*)']]);

allergN:=Query3.FieldValues['Count(*)'];

//обновляем диаграмму

DBChart1.RefreshData;

quantity:=astmn+rinon+traxn+bronxn+allergn;

StringGrid1.Cells[1,5]:=floattostr(Round(astmn/(quantity/100)))+'%';

StringGrid1.Cells[2,5]:=floattostr(Round(rinon/(quantity/100)))+'%';

StringGrid1.Cells[3,5]:=floattostr(Round(bronxn/(quantity/100)))+'%';

StringGrid1.Cells[4,5]:=floattostr(Round(traxn/(quantity/100)))+'%';

StringGrid1.Cells[5,5]:=floattostr(Round(allergn/(quantity/100)))+'%';

ef:

end;

procedure TForm1.Edit22KeyPress(Sender: TObject; var Key: Char);

begin

case Key of #8,'1'..'3' : ;

else key := Chr(0);

end;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Проектирование программного модуля в среде программирования Borland Delphi 7.0. Схемы алгоритмов решения задач по темам "Символьные переменные и строки", "Массивы", "Работа с файлами", "Создание анимации". Реализация программного модуля, код программы.

    отчет по практике [961,6 K], добавлен 21.04.2012

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.

    курсовая работа [501,4 K], добавлен 07.12.2016

  • Рассмотрение системы трехмерного твердотельного моделирования. Анализ средств программирования, информационное обеспечение и описание объектной модели Компас-3d. Описание алгоритма программы в среде Borland Delphi 7 и составление инструкции пользователя.

    дипломная работа [1,7 M], добавлен 03.07.2012

  • Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.

    курсовая работа [560,1 K], добавлен 18.07.2012

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

    курсовая работа [1,6 M], добавлен 29.05.2013

  • Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа [660,2 K], добавлен 21.05.2012

  • Контроль знаний как форма педагогической деятельности. Особенности и классификация тестовых заданий. Разработка обучающе-контролирующей программы для контроля знаний обучающихся в среде программирования Borland Delphi 7.0 под управлением Windows XP.

    курсовая работа [172,5 K], добавлен 24.08.2016

  • Цель и основные составные части автоматизации. Характеристика ее объекта. Описание концептуальной модели предметной области. Обоснование выбора программного обеспечения. Разработка программы в среде Borland Delphi 7. Общий алгоритм работы приложения.

    курсовая работа [368,6 K], добавлен 21.05.2015

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.

    курсовая работа [974,0 K], добавлен 21.12.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.