Разработка программы 'Автоматизированная информационная справочная система аптеки'
ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ТУЛЬСКОЙ
ОБЛАСТИ
«ТУЛЬСКИЙ ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»
КУРСОВОЙ ПРОЕКТ
по дисциплине «Технология разработки
программного продукта»
на тему: Разработка программы
«Автоматизированная информационная справочная система аптеки»
Работу
выполнил: Работу проверил:
студент
группы 410-П
__________/Богунов
Ю.Е./ ________/ Бардина И.Н. /
Щёкино
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ ТУЛЬСКОЙ ОБЛАСТИ
«ТУЛЬСКИЙ
ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»
Индивидуальное задание
по выполнению курсового проекта по дисциплине «Технология разработки
программного продукта»
Студенту4курса, специальность 230105
Ф.И.О.Богунова Юрия Евгеньевича
Тема курсового проекта:разработка программы
«Автоматизированная информационная справочная система аптеки»
Объект исследования: аптека.
Содержание курсового проекта
Введение
I
Основная часть:
.1. Постановка задачи
.1.1.Сущность задачи
.1.2.Математическая модель
.2. Описание входной и выходной информации
.3.Описание программно-технических средств
.4.Программно-технические средства, необходимые для разработки программы
.5. Программно-технические средства при использовании программы
.6.Тестирование программы
.7.Описание программы
Заключение
Список рекомендуемой литературы
.Рудаков А.В. Технология разработки программных продуктов: учеб. Пособие
для студ. Сред.проф. образования / А.В. Рудаков. - М. :
Издательский центр «Академия», 2006. - 208 с
.Культин Н.Б. Основы программирования в Delphi-7-/ Н.Б. Культин .-СПб:БХВ-Петербург, 2005.-608 с.:ил
Приложение: схема работы системы, листинг программы, формы, отчеты
Задание выдал:______________ _______________ _____________
(Ф.И.О. преподавателя) (подпись) (дата)
Задание принял:______________ ____________ _______________
(Ф.И.О. студента) (подпись) (дата)
СОДЕРЖАНИЕ
Введение
.Основная часть:
.1 Постановка задачи
.1.1 Сущность задачи
.1.2 Математическая модель
.2 Описание входной и выходной информации
.3 Описание программно-технических средств
.4 Программно-технические средства, необходимые для
разработки программы
.5 Программно-технические средства при использовании
программы
.6 Тестирование программы
.7 Описание программы
Заключение
Список литературы
Приложения
Рецензия
I/ Основная часть
.1 Постановка задачи
.1.1 Сущность задачи
На аптечном складе хранятся лекарства. Сведения о лекарствах хранятся в
двух файлах. В первом файле указывается наименование лекарственного средства,
единица измерения, количество, цена. Во втором файле указывается наименование
лекарственного препарата, срок хранения(в месяцах). Предусмотреть возможность
корректировки файлов.
Выходная информация:
1. Выяснить, сколько стоит самый дорогой и самый дешевый препарат и
выдать в виде сообщения на экран.
2. Выдать отчет, содержащий всю информацию первого файла с подсчетом
стоимости всех препаратов, хранящихся на складе и подсчетом количества видов
препаратов.
. Выдать список препаратов, имеющих срок хранения больше 3
месяцев.
Предусмотреть возможность формирования и корректировки файлов.
Используемое программное обеспечение - среда Delphi.
1.1.2 Математическая модель
=Ц*К; (1)
где Sti-стоимость i-го препарата
Ц-цена i-го препарата
К-количество i-го препарата
=∑ni=1Sti4; (2)
где St-стоимость всех препаратов
Sti-стоимость
i-го препарата
n-количество
видов препаратов
.2 Описание входной и выходной информации
Входная информация поступает в виде файлов.
Структура файла z1. Таблица 1.
Наименование реквизита
|
Идентификатор
|
Тип
|
Длинав знаках
|
Наименование лекарства
|
Naimlek
|
Строковый
|
20
|
Единица измерения
|
Edinizm
|
Строковый
|
20
|
Количество
|
Kolichestvo
|
Целый
|
-
|
Цена
|
cena
|
Вещественный
|
-
|
Структура файла z2.
Таблица 2.
Наименование реквизита
|
Идентификатор
|
Тип
|
Длинав знаках
|
Наименование лекарства
|
Naimlek
|
Строковый
|
20
|
Срок хранения
|
Srokchran
|
Целый
|
-
|
Form2.
Таблица 3.
Наименование компонента
|
Назначение компонента
|
Label1
|
Наименование файла
|
Label2
|
Наименование назначения Edit1
|
Label3
|
Наименование назначения Edit2
|
Button1
|
Формирование файла
|
Button2
|
Чтение файла
|
Button3
|
Добавление файла
|
Button4
|
Удаление файла
|
Button5
|
Изменение файла
|
Button6
|
Сортировка файлов
|
Button7
|
Выход
|
Button8
|
Очистка полей
|
Stringgrid1
|
Отображение данных файла
|
Edit1
|
Диапазон ячеек для формирования, добавления, изменения
файла
|
Edit2
|
Диапазон ячеек для удаления файла
|
Form3.
Таблица 4.
Наименование компонентаНазначение компонента
|
|
Stringgrid1
|
Отображение данных файла
|
Label1
|
Наименование файла
|
Label2
|
Наименование назначения Edit1
|
Button1
|
Формирование файла
|
Button2
|
Чтение файла
|
Button3
|
Добавление файла
|
Button4
|
Изменение файла
|
Button5
|
Удаление файла
|
Button6
|
Сортировка файлов
|
Button7
|
Выход
|
Button8
|
Очистка полей
|
Edit1
|
Диапазон ячеек для формирования, добавления, изменения
файла
|
Edit2
|
Диапазон ячеек для удаления файла
|
Label3
|
Наименование назначения Edit2
|
Выходная информация представлена в виде заполненных таблиц.
4. Таблица 5.
Наименование компонента
|
Назначение компонента
|
Label1
|
Наименование ведомости
|
Label2
|
Описание вывода в Edit1
|
Button1
|
Вывод ведомости
|
Button2
|
Выход
|
Stringgrid1
|
Отображение данных ведомости
|
Edit1
|
Вывод суммы препаратов
|
5. Таблица 6.
Наименование компонента
|
Назначение компонента
|
Button1
|
Вывод
|
Button2
|
Выход
|
Button3
|
Список препаратов, имеющих срок хранения больше 3 месяцев
|
Label1
|
Вывод дорогого препарата
|
Label2
|
Вывод дешевого препарата
|
Stringgrid1
|
Отображение данных файла
|
6. Таблица 7.
Наименование компонента
|
Назначение компонента
|
Label1
|
Подпись разработчика
|
Button1
|
Кнопка выхода из формы
|
Form7.
Таблица 8.
Наименование компонентаНазначение компонента
|
|
Label1
|
Название программы
|
Label2
|
Версия программы
|
Label3
|
Описание работы программы
|
Button1
|
Кнопка выхода из формы
|
Таблица с перечнем компонентов значение их свойств.
2. Таблица 9.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
Stringgrid1
|
goEditing
|
Запись в ячейки Stringgridа
|
Edit1
|
Text
|
Ограничение для формирования, добавления, изменения файла
|
Edit2
|
Text
|
Ограничение для удаления файла
|
Button1
|
Caption
|
Формирование файла
|
Button2
|
Caption
|
Чтение файла
|
Button3
|
Caption
|
Добавление файла
|
Button4
|
Caption
|
Удаление файла
|
Button5
|
Caption
|
Изменение файла
|
Button6
|
Caption
|
Сортировка файлов
|
Button7
|
Caption
|
Выход
|
Button8
|
Caption
|
Очистка полей
|
Label1
|
Caption
|
Название файла
|
Label2
|
Caption
|
Наименование назначения Edit1
|
Label3
|
Caption
|
Наименование назначения Edit2
|
3. Таблица 10.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
Stringgrid1
|
goEditing
|
Запись в ячейки Stringgridа
|
Button1
|
Caption
|
Формирование файла
|
Button2
|
Caption
|
Чтение файла
|
Button3
|
Caption
|
Добавление файла
|
Button4
|
Caption
|
Изменение файла
|
Button5
|
Caption
|
Удаление файла
|
Button6
|
Caption
|
Сортировка файлов
|
Button7
|
Caption
|
Выход
|
Button8
|
Caption
|
Очистка полей
|
Edit1
|
Text
|
Ограничение для формирования, добавления, изменения файла
|
Edit2
|
Text
|
Ограничение для удаления файла
|
Label1
|
Caption
|
Название файла
|
Label2
|
Caption
|
Наименование назначения Edit1
|
Label3
|
Caption
|
Наименование назначения Edit2
|
Form4. Таблица 11.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
StringGrid1
|
goEditing
|
Запись в ячейки StringGridа
|
Button1
|
Text
|
Вывод ведомости
|
Button2
|
Text
|
Выход
|
Edit1
|
Text
|
Вывод суммы
|
Label1
|
Caption
|
Название отчета
|
Label2
|
Caption
|
Описание вывода суммы
|
Form5. Таблица12.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
Button1
|
Text
|
Вывод
|
Button2
|
Text
|
Выход
|
Button3
|
Text
|
Вывод списка препаратов, имеющих срок хранения больше 3
месяцев
|
Label1
|
Caption
|
Вывод дорогого препарата
|
Label2
|
Вывод дешевого препарата
|
Stringgrid1
|
goEditing
|
Запись в ячейки StringGridа
|
6. Таблица 13.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
Label1
|
Caption
|
Подпись разработчика
|
Button1
|
Text
|
Кнопка выхода из формы
|
7. Таблица 14.
Наименование компонента
|
Наименование свойства компонента
|
Значение свойства компонента
|
Label1
|
Caption
|
Название программы
|
Label2
|
Caption
|
Версия программы
|
Label3
|
Caption
|
Описание работы программы
|
Button1
|
Text
|
Кнопка выхода из формы
|
.3 Описание
программно-технических средств
В качестве антивирусной программы мной используется антивирус Avast! Free antivirus. Программа создавалась под
управлением операционной системы Windows7 профессиональная.
1.4 Программно-технические
средства, необходимые для разработки программы
Описание комплекса технических средств, необходимых
при разработке программы:
процессор: AMD Atlon 64 X2
3800+ ;
материнская плата: ASUS M2N - MX (Socket AM2);
оперативная память: DIMM DDR II 4Gb - 600MHz;
монитор: BenQG2210W 1680x105060Hz;
видео карта: Geforce250 GTS1,5
Gb;
жесткий диск: Samsung SATA, 600Gb;
дисководы: DVDRW-ROM-Nec 3520A;
клавиатура: Genius GK-050008/C;
мышь: A4Tech X5-3D;
.5 Программно-технические
средства при использовании программы
Аппаратная часть предусматривает использование следующего оборудования:
процессор не ниже…………………………………………533 MHz
объём оперативной памяти не ниже………………………1 Gb
жесткий диск………………………………………………..5 Gb
монитор…………………………………………………1680x105060Hz
клавиатура…………………………………………GeniusGK-050008/C
мышь………………………………………………..
принтер……………………………………………SamsungML-1641
дисковод……………………………………DVDRW-ROM-Nec 3520A
В качестве программного обеспечения необходимо иметь следующие
программные продукты:
Операционная система MS Windows7, XP, 2000.
Антивирусная программа.
Программа.
1.6 Тестирование программы
Тестирование отдельных модулей.
Структура файла z1.
Таблица 2.
Номер теста
|
Наименование лекарства
|
Единица измерения
|
Количество
|
Цена
|
1
|
Панангин
|
шт
|
Одна тысяча
|
30
|
2
|
Кларитин
|
шт
|
3000
|
двадцать
|
3
|
воревноенолапнолнопрлопалор
|
шт
|
1021
|
44
|
4
|
Кларитин
|
коробки
|
600
|
11
|
5
|
Кларитин
|
шт
|
1000
|
30
|
Тест 1. Вводились значения, которые не совпадают с типом поля количество.
Программа выдает ошибку:
Тест 2. Вводились значения, которые не совпадают с типом поля цена.
Программа выдает ошибку:
Тест 3. Вводилось значение, превышающее ограничение поля «наименование
лекарства». Программа не записывает данное имя, отбрсывает лишние символы.
Сообщение об ошибке не выдается.
Тест 4. Вводилось значение, превышающее ограничение поля «единица
измерения». Программа не записывает данное имя, отбрсывает лишние символы.
Сообщение об ошибке не выдается.
Тест 5. Вводились правильные значения полей, выдерживалось ограничение.
Сообщение об ошибки не выдается.
Структура файла z2.
Таблица 3.
Номер теста
|
Наименование лекарства
|
Срок хранения
|
1
|
панангин
|
восемь
|
2
|
ывнгркеоенлнглдорпл
|
9
|
3
|
панангин
|
0.3
|
4
|
панангин
|
44000
|
5
|
панангин
|
8
|
Тест 1. Вводились значения, которые не совпадают с типом поля срок
хранения.
Программа выдает ошибку:
Тест 2. Вводилось значение, превышающее ограничение
поля «срок хранения». Программа не записывает данное имя, отбрасывает лишние
символы. Сообщение об ошибке не выдается.
Тест 3. Вводилось дробное значение в поле «срок хранения»
типа string, превышающее ограничение. Программа
выдает ошибку:
Тест 4. Введена ошибочная информация в поле «срок
хранения». Реакция программы нулевая.
Тест 5. Вводились правильные значения полей, выдерживалось ограничение.
Сообщение об ошибки не выдается.
.7.Описание программы
В данной программе используется 7 форм.
На первой форме располагается компонент MainMenu1, благодаря которому можно
переключаться на любую другую форму:
) файлы:) файл «Лекарственные средства»;) файл «Срок
хранения»;) файл «Вывод дешевого и дорогого препарата»;
) ведомость;
) разработчики;
) о программе.
На второй форме располагается компонент StringGrid1,
в котором содержатся данные о лекарственных средствах. Также на форме
расположены 8 кнопок, отвечающие за различные действия:
кнопка «Формирование файла»: данная кнопка отвечает за создание документа
и добавление в него информации с дальнейшим сохранением. Для создания файла
необходимо установить ограничение в Edit1;
кнопка «Чтение файла»: данная кнопка читает созданный файл и выводит
сохраненную информацию в StringGrid1;
кнопка «Добавление данных»: данная кнопка добавляет новые данные в уже
сохраненный файл с дальнейшим сохранением. Для добавления данных необходимо
установить ограничение в Edit1;
кнопка «Изменение данных»: данная кнопка изменяет сохраненные данные в
документе. Для изменения данных необходимо установить ограничение в Edit1;
кнопка «Сортировка данных»: данная кнопка сортирует данные в файле;
кнопка «Удаление данных»: данная кнопка удаляет данные из сохраненного
файла. Для удаления данных необходимо установить ограничение в Edit2;
кнопка «Очистка полей»: данная кнопка очищает StringGrid1 для нового вывода данных из файла;
кнопка «Выход»: данная кнопка закрывает форму.
На третьей форме, также как и на второй, располагается StringGrid1,
в котором содержатся данные о сроке хранения лекарств. Также на форме
располагаются 8 кнопок, у которых такие же функции, что и у кнопок на второй
форме.
Также для формирования файла, добавления и изменения данных файла
необходимо ввести ограничения в Edit1,
а для удаления данных файла необходимо ввести ограничения в Edit2.
На четвертой форме, также как и на двух предыдущих располагается StringGrid1,
в который выводится ведомость с полями из первого и второго файла, а
также подсчет в отдельном столбце по всем полям стоимость всех препаратов.
Также на форме расположены две кнопки:
кнопка «Вывод ведомости»: выводит ведомость по двум файлам в StringGrid1;
кнопка «Выход»: закрывает форму.
Также на форме расположены компоненты Label1 и Edit1:
компонент «Label1»: компонент
выводит название Editа1;
компонент«Edit1»: выводит
сумму всех препаратов, предварительно посчитав в процедуре.
Заключение
Цель, поставленная в курсовом проекте выполнена. Разработан программный
продукт «автоматизированная информационная справочная система аптеки», который
может быть использован в работе фармацевтических учреждениях.
Список литературы:
1.Рудаков
А.В. Технология разработки программных продуктов: учеб. Пособие для студ.
Сред.проф. образования / А.В. Рудаков. - М. :
Издательский
центр «Академия», 2006. - 208 с
.Культин Н.Б.
Основы программирования в Delphi-7-/
Н.Б. Культин .-СПб:БХВ-Петербург, 2005.-608 с.:ил
Приложение А
программа информация форматирование тестирование
Листинг программы:
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, Menus, StdCtrls;= class(TForm): TMainMenu;: TMenuItem;:
TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TLabel;: TMenuItem;: TLabel;:
TMenuItem;: TMenuItem;N4Click(Sender: TObject);N2Click(Sender:
TObject);N3Click(Sender: TObject);N5Click(Sender: TObject);N6Click(Sender:
TObject);N7Click(Sender: TObject);N8Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;Unit4, Unit2, Unit3, Unit5,
Unit6, Unit7;
{$R *.dfm}TForm1.N4Click(Sender:
TObject);.Show;;TForm1.N2Click(Sender: TObject);.Show;;TForm1.N3Click(Sender:
TObject);.Show;;TForm1.N5Click(Sender: TObject);;;TForm1.N6Click(Sender:
TObject);.Show;;TForm1.N7Click(Sender: TObject);.Show;;TForm1.N8Click(Sender:
TObject);.Show;;.Unit2;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, Grids, Buttons, ExtCtrls;= class(TForm):
TStringGrid;: TButton;: TButton;: TButton;: TButton;: TButton;: TLabel;:
TEdit;: TEdit;: TLabel;: TLabel;: TButton;: TButton;:
TButton;Button7Click(Sender: TObject);StringGrid1Click(Sender:
TObject);Button1Click(Sender: TObject);Button2Click(Sender:
TObject);Button3Click(Sender: TObject);Button4Click(Sender:
TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);FormCreate(Sender:
TObject);Button8Click(Sender: TObject);
{ Private declarations }
{ Public declarations
};=record:string[20];:string[6];:integer;:real;;: TForm2;,check1:file of
z1;:z1;,i:integer;
{$R *.dfm}TForm2.Button7Click(Sender: TObject);;;TForm2.StringGrid1Click(Sender:
TObject);.Cells[0,0]:='Наименование лекарства';.Cells[1,0]:='Единица
измерения';.Cells[2,0]:='Количество';.Cells[3,0]:='Цена';;TForm2.Button1Click(Sender:
TObject);(check,'check');rewrite(check);:=StrToInt(edit1.Text);i:=1 to n do.naimlek:=stringgrid1.Cells[0,i];.edinizm:=stringgrid1.Cells[1,i];.kolichestvo:=StrToInt(stringgrid1.Cells[2,i]);.cena:=StrToFloat(stringgrid1.Cells[3,i]);(check,x);;(check);;TForm2.Button2Click(Sender:
TObject);(check,'check');reset(check);i:=1;not eof (check)
do(check,x);.Cells[0,i]:=x.naimlek;.Cells[1,i]:=x.edinizm;.Cells[2,i]:=IntToStr(x.kolichestvo);.Cells[3,i]:=FloatToStr(x.cena);:=i+1;;(check);;TForm2.Button3Click(Sender:
TObject);n,i:longint;(check,'check');reset(check);seek(check,fileSize(check));:=strtoint(edit1.Text);i:=1
to n
do.naimlek:=stringgrid1.Cells[0,i];.edinizm:=stringgrid1.Cells[1,i];.kolichestvo:=strtoint(stringgrid1.Cells[2,i]);.cena:=strtofloat(stringgrid1.Cells[3,i]);(check,x);;(check);;TForm2.Button4Click(Sender:
TObject);s:integer;:integer;(check1,'check1');reset(check);rewrite(check1);:=strtoint(edit2.Text);s:=0;not
eof(check) do:=s+1;n=s then
read(check,x)(check,x);(check1,x);;;(check);closefile(check1);(check1);rewrite(check);not
eof(check1) do(check1,x);write(check,x);;(check);closefile(check1);;TForm2.Button5Click(Sender:
TObject);(check,'check');reset(check);:=strtoint(edit1.Text);(check,n-1);.naimlek:=stringgrid1.Cells[0,n];.edinizm:=stringgrid1.Cells[1,n];.kolichestvo:=strtoint(stringgrid1.Cells[2,n]);.cena:=strtofloat(stringgrid1.Cells[3,n]);(check,x);(check);;TForm2.Button6Click(Sender:
TObject);zp:array[1..50]of
z1;:z1;,k,n,i:integer;(check,'check');(check);:=1;not eof(check)
do(check,zp[i]);:=i+1;;(check);:=i-1;i:=1 to n do:=i;j:=i+1 to n
dozp[j].naimlek<zp[k].naimlek then
k:=j;:=zp[i];zp[i]:=zp[k];zp[k]:=v;;(check);i:=1 to n do
write(check,zp[i]);(check);;TForm2.FormCreate(Sender: TObject);.Cells[0,0]:='Наименование лекарства';.Cells[1,0]:='Единица
измерения';.Cells[2,0]:='Количество';.Cells[3,0]:='Цена';;TForm2.Button8Click(Sender:
TObject);j:integer;i:=0 to stringgrid1.ColCount-1 doj:=0 to
stringgrid1.colcount-1 do.Cells[i,j]:=' ';;.Unit3;
, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,, StdCtrls, Grids;= class(TForm): TStringGrid;: TButton;: TButton;:
TButton;: TButton;: TButton;: TLabel;: TEdit;: TEdit;: TLabel;: TLabel;:
TButton;: TButton;: TButton;Button7Click(Sender:
TObject);StringGrid1Click(Sender: TObject);Button1Click(Sender:
TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button5Click(Sender:
TObject);Button4Click(Sender: TObject);Button6Click(Sender:
TObject);FormCreate(Sender: TObject);Button8Click(Sender: TObject);
{ Private declarations }
{ Public declarations };=record:string[20];:integer;;:
TForm3;,sorg1:file of z2;:z2;,i:integer;
{$R *.dfm}TForm3.Button7Click(Sender:
TObject);;;TForm3.StringGrid1Click(Sender: TObject);.Cells[0,0]:='Наименование лекарства';.Cells[1,0]:='Срок хранения';;TForm3.Button1Click(Sender:
TObject);(sorg,'sorg');rewrite(sorg);:=StrToInt(edit1.Text);i:=1 to n
do.naimlek:=stringgrid1.Cells[0,i];.srokchran:=StrToInt(stringgrid1.Cells[1,i]);(sorg,y);;(sorg);;TForm3.Button2Click(Sender:
TObject);(sorg,'sorg');reset(sorg);i:=1;not eof (sorg)
do(sorg,y);.Cells[0,i]:=y.naimlek;.Cells[1,i]:=IntToStr(y.srokchran);:=i+1;;(sorg);;TForm3.Button3Click(Sender:
TObject);n,i:longint;(sorg,'sorg');reset(sorg);seek(sorg,fileSize(sorg));:=strtoint(edit1.Text);i:=1
to n
do.naimlek:=stringgrid1.Cells[0,i];.srokchran:=strtoint(stringgrid1.Cells[1,i]);(sorg,y);;(sorg);;TForm3.Button5Click(Sender:
TObject);s:integer;:integer;(sorg1,'sorg1');reset(sorg);rewrite(sorg1);:=strtoint(edit2.Text);s:=0;not
eof(sorg) do:=s+1;n=s then
read(sorg,y)(sorg,y);(sorg1,y);;;(sorg);closefile(sorg1);(sorg1);rewrite(sorg);not
eof(sorg1) do(sorg1,y);write(sorg,y);;(sorg);closefile(sorg1);;TForm3.Button4Click(Sender:
TObject);(sorg,'sorg');reset(sorg);:=strtoint(edit1.Text);(sorg,n-1);.naimlek:=stringgrid1.Cells[0,n];.srokchran:=strtoint(stringgrid1.Cells[1,n]);(sorg,y);(sorg);;TForm3.Button6Click(Sender:
TObject);zn:array[1..50]of z2;:z2;,k,n,i:integer;(sorg,'sorg');(sorg);:=1;not
eof(sorg) do(sorg,zn[i]);:=i+1;;(sorg);:=i-1;i:=1 to n do:=i;j:=i+1 to n
dozn[j].srokchran<zn[k].srokchran then
k:=j;:=zn[i];zn[i]:=zn[k];zn[k]:=v;;(sorg);i:=1 to n do write(sorg,zn[i]);
closefile(sorg);;
procedure TForm3.FormCreate(Sender: TObject);.Cells[0,0]:='Наименование лекарства';.Cells[1,0]:='Срок хранения';;TForm3.Button8Click(Sender:
TObject);j:integer;i:=0 to stringgrid1.ColCount-1 doj:=0 to stringgrid1.ColCount-1
do.Cells[i,j]:=' ';;.Unit4;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, Grids;= class(TForm): TButton;: TLabel;: TButton;:
TStringGrid;: TEdit;: TLabel;Button7Click(Sender: TObject);FormCreate(Sender:
TObject);Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations
};=record:string[20];:string[6];:integer;:real;;=record:string[20];:integer;;:
TForm4;:file of z1;:file of z2;:z1;:z2;:integer;
{$R *.dfm}TForm4.Button7Click(Sender: TObject);;;TForm4.FormCreate(Sender:
TObject);.Cells[0,0]:='Наименование лекарства';.Cells[1,0]:='Единица
измерения';.Cells[2,0]:='Количество';.Cells[3,0]:='Цена';.Cells[4,0]:='Сумма';;TForm4.Button1Click(Sender:
TObject);
var sum,sm:real;
assignfile(check,'check');(check);:=1; sm:=0;not eof(check)
do(check,x);.Cells[0,i]:=x.naimlek;.Cells[1,i]:=x.edinizm;.Cells[2,i]:=inttostr(x.kolichestvo);.Cells[3,i]:=floattostr(x.cena);:=x.cena*x.kolichestvo;.Cells[4,i]:=floattostr(sum);:=sm+sum;:=i+1;;.Text:=floattostr(sm);(check);;.Unit5;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls,
Grids;= class(TForm): TButton;: TLabel;: TLabel;: TButton;: TButton;:
TStringGrid;Button1Click(Sender: TObject);Button2Click(Sender:
TObject);FormCreate(Sender: TObject);Button3Click(Sender: TObject);
{ Private declarations }
{ Public declarations
};=record:string[20];:string[6];:integer;:real;;=record:string[20];:integer;;:
TForm5;:file of z1;:file of z2;:z1;:z2;,i:integer;
{$R *.dfm}TForm5.Button1Click(Sender: TObject);mn,mx:real;,naimmx:string[20];(check,'check');(check);
mn:=0; mx:=0;not eof(check) do(check,x);mn=0 then:=x.cena;:=x.naimlek;;mx=0
then:=x.cena;:=x.naimlek;;x.cena>mx then:=x.naimlek;:=x.cena;;x.cena<mn
then:=x.naimlek;:=x.cena;;;(check);.Caption:=('Самый дорогой препарат ' +naimmx+ ' стоит '+floattostr(mx));.Caption:=('Самый дешевый препарат ' +naimmn+ ' стоит '+floattostr(mn));;TForm5.Button2Click(Sender:
TObject);;;TForm5.FormCreate(Sender: TObject);.Cells[0,0]:='Наименование препарата';.cells[1,0]:='Срок хранения';;TForm5.Button3Click(Sender:
TObject);(sorg,'sorg');(sorg); i:=1;not eof(sorg) do(sorg,y);y.srokchran>3
then.cells[0,i]:=y.naimlek;.Cells[1,i]:=inttostr(y.srokchran);:=i+1;;
end;(sorg);;.Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,, StdCtrls;= class(TForm): TLabel;: TButton;Button1Click(Sender:
TObject);
{ Private declarations }
{ Public declarations };: TForm6;
{$R *.dfm}TForm6.Button1Click(Sender: TObject);;;.Unit7;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;=
class(TForm): TLabel;: TLabel;: TLabel;: TButton;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm7;
{$R *.dfm}TForm7.Button1Click(Sender: TObject);
begin;.
Приложение Б
Формы программы.
Главная форма:
Форма файла «Лекарственные средства:
Форма файла «Срок хранения»:
Форма «Вывод дешевого и дорогого препарата»:
Форма «Ведомость»:
Форма «Разработчики»:
Форма «О программе»: