Разработка программы "Автоматизированная информационная справочная система аптеки"
Описание входной и выходной информации. Программно-технические средства, необходимые для разработки программы "Автоматизированная информационная справочная система аптеки". Возможность формирования и корректировки файлов, тестирование программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.12.2013 |
Размер файла | 761,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ТУЛЬСКОЙ ОБЛАСТИ
«ТУЛЬСКИЙ ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»
КУРСОВОЙ ПРОЕКТ
по дисциплине «Технология разработки программного продукта»
на тему: Разработка программы «Автоматизированная информационная справочная система аптеки»
Работу выполнил: Работу проверил:
студент группы 410-П
__________/Богунов Ю.Е./ ________/ Бардина И.Н. /
Щёкино
2013
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ТУЛЬСКОЙ ОБЛАСТИ
«ТУЛЬСКИЙ ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»
Индивидуальное задание
по выполнению курсового проекта по дисциплине «Технология разработки программного продукта»
Студенту4курса, специальность 230105
Ф.И.О.Богунова Юрия Евгеньевича
Тема курсового проекта:разработка программы «Автоматизированная информационная справочная система аптеки»
Объект исследования: аптека.
Содержание курсового проекта
Введение
I Основная часть:
1.1. Постановка задачи
1.1.1.Сущность задачи
1.1.2.Математическая модель
1.2. Описание входной и выходной информации
1.3.Описание программно-технических средств
1.4.Программно-технические средства, необходимые для разработки программы
1.5. Программно-технические средства при использовании программы
1.6.Тестирование программы
1.7.Описание программы
Заключение
Список рекомендуемой литературы
1.Рудаков А.В. Технология разработки программных продуктов: учеб. Пособие для студ. Сред.проф. образования / А.В. Рудаков. - М. :
Издательский центр «Академия», 2006. - 208 с
2.Культин Н.Б. Основы программирования в Delphi-7-/ Н.Б. Культин .-СПб:БХВ-Петербург, 2005.-608 с.:ил
Приложение: схема работы системы, листинг программы, формы, отчеты
Задание выдал:______________ _______________ _____________
(Ф.И.О. преподавателя) (подпись) (дата)
Задание принял:______________ ____________ _______________
(Ф.И.О. студента) (подпись) (дата)
СОДЕРЖАНИЕ
Введение
1.Основная часть:
1.1 Постановка задачи
1.1.1 Сущность задачи
1.1.2 Математическая модель
1.2 Описание входной и выходной информации
1.3 Описание программно-технических средств
1.4 Программно-технические средства, необходимые для разработки программы
1.5 Программно-технические средства при использовании программы
1.6 Тестирование программы
1.7 Описание программы
Заключение
Список литературы
Приложения
Рецензия
I/ Основная часть
1.1 Постановка задачи
1.1.1 Сущность задачи
На аптечном складе хранятся лекарства. Сведения о лекарствах хранятся в двух файлах. В первом файле указывается наименование лекарственного средства, единица измерения, количество, цена. Во втором файле указывается наименование лекарственного препарата, срок хранения(в месяцах). Предусмотреть возможность корректировки файлов.
Выходная информация:
1. Выяснить, сколько стоит самый дорогой и самый дешевый препарат и выдать в виде сообщения на экран.
2. Выдать отчет, содержащий всю информацию первого файла с подсчетом стоимости всех препаратов, хранящихся на складе и подсчетом количества видов препаратов.
3. Выдать список препаратов, имеющих срок хранения больше 3 месяцев.
Предусмотреть возможность формирования и корректировки файлов.
Используемое программное обеспечение - среда Delphi.
1.1.2 Математическая модель
Sti=Ц*К; (1)
где Sti-стоимость i-го препарата
Ц-цена i-го препарата
К-количество i-го препарата
St=?ni=1Sti4; (2)
где St-стоимость всех препаратов
Sti-стоимость i-го препарата
n-количество видов препаратов
1.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 |
Выходная информация представлена в виде заполненных таблиц.
Form4. Таблица 5.
Наименование компонента |
Назначение компонента |
|
Label1 |
Наименование ведомости |
|
Label2 |
Описание вывода в Edit1 |
|
Button1 |
Вывод ведомости |
|
Button2 |
Выход |
|
Stringgrid1 |
Отображение данных ведомости |
|
Edit1 |
Вывод суммы препаратов |
Form5. Таблица 6.
Наименование компонента |
Назначение компонента |
|
Button1 |
Вывод |
|
Button2 |
Выход |
|
Button3 |
Список препаратов, имеющих срок хранения больше 3 месяцев |
|
Label1 |
Вывод дорогого препарата |
|
Label2 |
Вывод дешевого препарата |
|
Stringgrid1 |
Отображение данных файла |
Form6. Таблица 7.
Наименование компонента |
Назначение компонента |
|
Label1 |
Подпись разработчика |
|
Button1 |
Кнопка выхода из формы |
Form7. Таблица 8.
Наименование компонента |
Назначение компонента |
|
Label1 |
Название программы |
|
Label2 |
Версия программы |
|
Label3 |
Описание работы программы |
|
Button1 |
Кнопка выхода из формы |
Таблица с перечнем компонентов значение их свойств.
Form2. Таблица 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 |
Form3. Таблица 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 |
Caption |
Вывод дешевого препарата |
|
Stringgrid1 |
goEditing |
Запись в ячейки StringGridа |
Form6. Таблица 13.
Наименование компонента |
Наименование свойства компонента |
Значение свойства компонента |
|
Label1 |
Caption |
Подпись разработчика |
|
Button1 |
Text |
Кнопка выхода из формы |
Form7. Таблица 14.
Наименование компонента |
Наименование свойства компонента |
Значение свойства компонента |
|
Label1 |
Caption |
Название программы |
|
Label2 |
Caption |
Версия программы |
|
Label3 |
Caption |
Описание работы программы |
|
Button1 |
Text |
Кнопка выхода из формы |
1.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;
1.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. Вводились правильные значения полей, выдерживалось ограничение. Сообщение об ошибки не выдается.
1.7.Описание программы
В данной программе используется 7 форм.
На первой форме располагается компонент MainMenu1, благодаря которому можно переключаться на любую другую форму:
1) файлы:
a) файл «Лекарственные средства»;
b) файл «Срок хранения»;
c) файл «Вывод дешевого и дорогого препарата»;
2) ведомость;
3) разработчики;
4) о программе.
На второй форме располагается компонент StringGrid1,
в котором содержатся данные о лекарственных средствах. Также на форме расположены 8 кнопок, отвечающие за различные действия:
-кнопка «Формирование файла»: данная кнопка отвечает за создание документа и добавление в него информации с дальнейшим сохранением. Для создания файла необходимо установить ограничение в Edit1;
-кнопка «Чтение файла»: данная кнопка читает созданный файл и выводит сохраненную информацию в StringGrid1;
-кнопка «Добавление данных»: данная кнопка добавляет новые данные в уже сохраненный файл с дальнейшим сохранением. Для добавления данных необходимо установить ограничение в Edit1;
-кнопка «Изменение данных»: данная кнопка изменяет сохраненные данные в документе. Для изменения данных необходимо установить ограничение в Edit1;
-кнопка «Сортировка данных»: данная кнопка сортирует данные в файле;
-кнопка «Удаление данных»: данная кнопка удаляет данные из сохраненного файла. Для удаления данных необходимо установить ограничение в Edit2;
-кнопка «Очистка полей»: данная кнопка очищает StringGrid1 для нового вывода данных из файла;
-кнопка «Выход»: данная кнопка закрывает форму.
На третьей форме, также как и на второй, располагается StringGrid1,
в котором содержатся данные о сроке хранения лекарств. Также на форме располагаются 8 кнопок, у которых такие же функции, что и у кнопок на второй форме.
Также для формирования файла, добавления и изменения данных файла необходимо ввести ограничения в Edit1, а для удаления данных файла необходимо ввести ограничения в Edit2.
На четвертой форме, также как и на двух предыдущих располагается StringGrid1,
в который выводится ведомость с полями из первого и второго файла, а также подсчет в отдельном столбце по всем полям стоимость всех препаратов. Также на форме расположены две кнопки:
-кнопка «Вывод ведомости»: выводит ведомость по двум файлам в StringGrid1;
-кнопка «Выход»: закрывает форму.
Также на форме расположены компоненты Label1 и Edit1:
-компонент «Label1»: компонент выводит название Editа1;
-компонент«Edit1»: выводит сумму всех препаратов, предварительно посчитав в процедуре.
Заключение
Цель, поставленная в курсовом проекте выполнена. Разработан программный продукт «автоматизированная информационная справочная система аптеки», который может быть использован в работе фармацевтических учреждениях.
Список литературы:
1.Рудаков А.В. Технология разработки программных продуктов: учеб. Пособие для студ. Сред.проф. образования / А.В. Рудаков. - М. :
Издательский центр «Академия», 2006. - 208 с
2.Культин Н.Б. Основы программирования в Delphi-7-/ Н.Б. Культин .-СПб:БХВ-Петербург, 2005.-608 с.:ил
Приложение А
программа информация форматирование тестирование
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Label1: TLabel;
N6: TMenuItem;
Label2: TLabel;
N7: TMenuItem;
N8: TMenuItem;
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit4, Unit2, Unit3, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TForm1.N4Click(Sender: TObject);
begin
Form4.Show;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form5.Show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form6.Show;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Form7.Show;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Buttons, ExtCtrls;
type
TForm2 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button7: TButton;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Button5: TButton;
Button6: TButton;
Button8: TButton;
procedure Button7Click(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
z1=record
naimlek:string[20];
edinizm:string[6];
kolichestvo:integer;
cena:real;
end;
var
Form2: TForm2;
check,check1:file of z1;
x:z1;
n,i:integer;
implementation
{$R *.dfm}
procedure TForm2.Button7Click(Sender: TObject);
begin
Close;
end;
procedure TForm2.StringGrid1Click(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование лекарства';
stringgrid1.Cells[1,0]:='Единица измерения';
stringgrid1.Cells[2,0]:='Количество';
stringgrid1.Cells[3,0]:='Цена';
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
assignfile(check,'check');rewrite(check);
n:=StrToInt(edit1.Text);
for i:=1 to n do
begin
x.naimlek:=stringgrid1.Cells[0,i];
x.edinizm:=stringgrid1.Cells[1,i];
x.kolichestvo:=StrToInt(stringgrid1.Cells[2,i]);
x.cena:=StrToFloat(stringgrid1.Cells[3,i]);
write(check,x);
end;
closefile(check);
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
assignfile(check,'check');reset(check);i:=1;
while not eof (check) do
begin
read(check,x);
stringgrid1.Cells[0,i]:=x.naimlek;
stringgrid1.Cells[1,i]:=x.edinizm;
stringgrid1.Cells[2,i]:=IntToStr(x.kolichestvo);
stringgrid1.Cells[3,i]:=FloatToStr(x.cena);
i:=i+1;
end;
closefile(check);
end;
procedure TForm2.Button3Click(Sender: TObject);
var n,i:longint;
begin
assignfile(check,'check');reset(check);seek(check,fileSize(check));
n:=strtoint(edit1.Text);
for i:=1 to n do
begin
x.naimlek:=stringgrid1.Cells[0,i];
x.edinizm:=stringgrid1.Cells[1,i];
x.kolichestvo:=strtoint(stringgrid1.Cells[2,i]);
x.cena:=strtofloat(stringgrid1.Cells[3,i]);
write(check,x);
end;
closefile(check);
end;
procedure TForm2.Button4Click(Sender: TObject);
var s:integer;
n:integer;
begin
assignfile(check1,'check1');reset(check);rewrite(check1);
n:=strtoint(edit2.Text);s:=0;
while not eof(check) do
begin
s:=s+1;
if n=s then read(check,x)
else
begin
read(check,x);
write(check1,x);
end;
end;
closefile(check);closefile(check1);
reset(check1);rewrite(check);
while not eof(check1) do
begin
read(check1,x);write(check,x);
end;
closefile(check);closefile(check1);
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
assignfile(check,'check');reset(check);
n:=strtoint(edit1.Text);
seek(check,n-1);
x.naimlek:=stringgrid1.Cells[0,n];
x.edinizm:=stringgrid1.Cells[1,n];
x.kolichestvo:=strtoint(stringgrid1.Cells[2,n]);
x.cena:=strtofloat(stringgrid1.Cells[3,n]);
write(check,x);
closefile(check);
end;
procedure TForm2.Button6Click(Sender: TObject);
var zp:array[1..50]of z1;
v:z1;
j,k,n,i:integer;
begin
assignfile(check,'check');
reset(check);
i:=1;
while not eof(check) do
begin
read(check,zp[i]);
i:=i+1;
end;
closefile(check);
n:=i-1;
for i:=1 to n do
begin
k:=i;
for j:=i+1 to n do
if zp[j].naimlek<zp[k].naimlek then k:=j;
v:=zp[i];zp[i]:=zp[k];zp[k]:=v;
end;
rewrite(check);
for i:=1 to n do write(check,zp[i]);
closefile(check);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование лекарства';
stringgrid1.Cells[1,0]:='Единица измерения';
stringgrid1.Cells[2,0]:='Количество';
stringgrid1.Cells[3,0]:='Цена';
end;
procedure TForm2.Button8Click(Sender: TObject);
var j:integer;
begin
for i:=0 to stringgrid1.ColCount-1 do
for j:=0 to stringgrid1.colcount-1 do
stringgrid1.Cells[i,j]:=' ';
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm3 = class(TForm)
StringGrid1: TStringGrid;
Button3: TButton;
Button5: TButton;
Button1: TButton;
Button2: TButton;
Button7: TButton;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Button4: TButton;
Button6: TButton;
Button8: TButton;
procedure Button7Click(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
z2=record
naimlek:string[20];
srokchran:integer;
end;
var
Form3: TForm3;
sorg,sorg1:file of z2;
y:z2;
n,i:integer;
implementation
{$R *.dfm}
procedure TForm3.Button7Click(Sender: TObject);
begin
Close;
end;
procedure TForm3.StringGrid1Click(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование лекарства';
stringgrid1.Cells[1,0]:='Срок хранения';
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
assignfile(sorg,'sorg');rewrite(sorg);
n:=StrToInt(edit1.Text);
for i:=1 to n do
begin
y.naimlek:=stringgrid1.Cells[0,i];
y.srokchran:=StrToInt(stringgrid1.Cells[1,i]);
write(sorg,y);
end;
closefile(sorg);
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
assignfile(sorg,'sorg');reset(sorg);i:=1;
while not eof (sorg) do
begin
read(sorg,y);
stringgrid1.Cells[0,i]:=y.naimlek;
stringgrid1.Cells[1,i]:=IntToStr(y.srokchran);
i:=i+1;
end;
closefile(sorg);
end;
procedure TForm3.Button3Click(Sender: TObject);
var n,i:longint;
begin
assignfile(sorg,'sorg');reset(sorg);seek(sorg,fileSize(sorg));
n:=strtoint(edit1.Text);
for i:=1 to n do
begin
y.naimlek:=stringgrid1.Cells[0,i];
y.srokchran:=strtoint(stringgrid1.Cells[1,i]);
write(sorg,y);
end;
closefile(sorg);
end;
procedure TForm3.Button5Click(Sender: TObject);
var s:integer;
n:integer;
begin
assignfile(sorg1,'sorg1');reset(sorg);rewrite(sorg1);
n:=strtoint(edit2.Text);s:=0;
while not eof(sorg) do
begin
s:=s+1;
if n=s then read(sorg,y)
else
begin
read(sorg,y);
write(sorg1,y);
end;
end;
closefile(sorg);closefile(sorg1);
reset(sorg1);rewrite(sorg);
while not eof(sorg1) do
begin
read(sorg1,y);write(sorg,y);
end;
closefile(sorg);closefile(sorg1);
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
assignfile(sorg,'sorg');reset(sorg);
n:=strtoint(edit1.Text);
seek(sorg,n-1);
y.naimlek:=stringgrid1.Cells[0,n];
y.srokchran:=strtoint(stringgrid1.Cells[1,n]);
write(sorg,y);
closefile(sorg);
end;
procedure TForm3.Button6Click(Sender: TObject);
var zn:array[1..50]of z2;
v:z2;
j,k,n,i:integer;
begin
assignfile(sorg,'sorg');
reset(sorg);
i:=1;
while not eof(sorg) do
begin
read(sorg,zn[i]);
i:=i+1;
end;
closefile(sorg);
n:=i-1;
for i:=1 to n do
begin
k:=i;
for j:=i+1 to n do
if zn[j].srokchran<zn[k].srokchran then k:=j;
v:=zn[i];zn[i]:=zn[k];zn[k]:=v;
end;
rewrite(sorg);
for i:=1 to n do write(sorg,zn[i]);
closefile(sorg);
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование лекарства';
stringgrid1.Cells[1,0]:='Срок хранения';
end;
procedure TForm3.Button8Click(Sender: TObject);
var j:integer;
begin
for i:=0 to stringgrid1.ColCount-1 do
for j:=0 to stringgrid1.ColCount-1 do
stringgrid1.Cells[i,j]:=' ';
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm4 = class(TForm)
Button7: TButton;
Label1: TLabel;
Button1: TButton;
StringGrid1: TStringGrid;
Edit1: TEdit;
Label2: TLabel;
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
z1=record
naimlek:string[20];
edinizm:string[6];
kolichestvo:integer;
cena:real;
end;
z2=record
naimlek:string[20];
srokchran:integer;
end;
var
Form4: TForm4;
check:file of z1;
sorg:file of z2;
x:z1;
y:z2;
i:integer;
implementation
{$R *.dfm}
procedure TForm4.Button7Click(Sender: TObject);
begin
Close;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование лекарства';
stringgrid1.Cells[1,0]:='Единица измерения';
stringgrid1.Cells[2,0]:='Количество';
stringgrid1.Cells[3,0]:='Цена';
stringgrid1.Cells[4,0]:='Сумма';
end;
procedure TForm4.Button1Click(Sender: TObject);
var sum,sm:real;
begin
assignfile(check,'check');
reset(check);
i:=1; sm:=0;
while not eof(check) do
begin
read(check,x);
stringgrid1.Cells[0,i]:=x.naimlek;
stringgrid1.Cells[1,i]:=x.edinizm;
stringgrid1.Cells[2,i]:=inttostr(x.kolichestvo);
stringgrid1.Cells[3,i]:=floattostr(x.cena);
sum:=x.cena*x.kolichestvo;
stringgrid1.Cells[4,i]:=floattostr(sum);
sm:=sm+sum;
i:=i+1;
end;
edit1.Text:=floattostr(sm);
closefile(check);
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm5 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Button2: TButton;
Button3: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
z1=record
naimlek:string[20];
edinizm:string[6];
kolichestvo:integer;
cena:real;
end;
z2=record
naimlek:string[20];
srokchran:integer;
end;
var
Form5: TForm5;
check:file of z1;
sorg:file of z2;
x:z1;
y:z2;
n,i:integer;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
var mn,mx:real;
naimmn,naimmx:string[20];
begin
assignfile(check,'check');
reset(check); mn:=0; mx:=0;
while not eof(check) do
begin
read(check,x);
if mn=0 then
begin
mn:=x.cena;
naimmn:=x.naimlek;
end;
if mx=0 then
begin
mx:=x.cena;
naimmx:=x.naimlek;
end;
if x.cena>mx then
begin
naimmx:=x.naimlek;
mx:=x.cena;
end;
if x.cena<mn then
begin
naimmn:=x.naimlek;
mn:=x.cena;
end;
end;
closefile(check);
Label1.Caption:=('Самый дорогой препарат ' +naimmx+ ' стоит '+floattostr(mx));
Label2.Caption:=('Самый дешевый препарат ' +naimmn+ ' стоит '+floattostr(mn));
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='Наименование препарата';
stringgrid1.cells[1,0]:='Срок хранения';
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
assignfile(sorg,'sorg');
reset(sorg); i:=1;
while not eof(sorg) do
begin
read(sorg,y);
if y.srokchran>3 then
begin
stringgrid1.cells[0,i]:=y.naimlek;
stringgrid1.Cells[1,i]:=inttostr(y.srokchran);
i:=i+1;
end; end;
closefile(sorg);
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm6 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
Close;
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm7 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
begin
Close
end;
end.
Приложение Б
Формы программы.
Главная форма:
Форма файла «Лекарственные средства:
Форма файла «Срок хранения»:
Форма «Вывод дешевого и дорогого препарата»:
Форма «Ведомость»:
Форма «Разработчики»:
Форма «О программе»:
Размещено на Allbest.ru
Подобные документы
Составление математической модели решения транспортной задачи. Описание входной и выходной информации. Программно-технические средства, используемые при разработке программы. Общее описание программы, ее назначение, информационная совместимость.
курсовая работа [49,1 K], добавлен 24.05.2013Автоматизированные информационные системы и их структура. Описание предметной области. Программная реализация основных алгоритмов формирования документации. Организация входной информации. Процесс создания расписания. Расчет затрат на отладку программы.
дипломная работа [2,3 M], добавлен 06.09.2014Необходимость применения систем электронного документооборота. Выводы по ценам, функциональным возможностям, сегментации рынка. Схема обработки информации автоматизированной системой. Нормативно-справочная информация для системы, структура алгоритмов.
дипломная работа [2,9 M], добавлен 24.06.2009Описание существующих информационных систем в данной сфере. Система управления "Fidelio". Выбор средства для разработки. Тестирование программного средства, оценка его функционального качества. Описание выявленных недостатков разработанной программы.
курсовая работа [856,6 K], добавлен 24.09.2014Анализ входной и выходной информации, особенности ее документационного обеспечения. Описание таблиц и их основное содержание. Методика и этапы разработки интерфейса программы и ее листинг, а также формирование инструкций пользователя и программиста.
курсовая работа [682,7 K], добавлен 30.07.2015Разработка автоматизированной системы мониторинга производственной деятельности предприятия, необходимой для принятия управленческих решений, обеспечивающих стабильную работу завода бытовой техники ЗАО "АТЛАНТ". Описание классов системы, тестирование.
курсовая работа [3,6 M], добавлен 19.06.2014Разработка автоматизированной информационной системы "Учет Касс". Информационная база задачи, входная и выходная информация и система меню. Описание программы для пользователя. Форма документа для ввода в эксплуатацию. Системные требования к программе.
курсовая работа [927,6 K], добавлен 23.01.2015Проектирование подсистем реализации автомобиля, ввода и редактирования информации, составления отчётов и подсистемы администрирования. Требования к системе. Использование CASE средства AllFusion Process Modeler BPWin для создания моделей бизнес-процессов.
дипломная работа [2,4 M], добавлен 29.06.2012Автоматизация ввода и хранения информации об обороте товаров. Выбор типовой информационной системы, формирование требований к ней, разработка концепции. Описание программного продукта, его запуска и работы. Расчет экономической эффективности проекта.
курсовая работа [1,3 M], добавлен 15.05.2012Разработка программного обеспечения для выполнения работ по проведению кампании массового уведомления налогоплательщиков – юридических лиц о начисленных суммах по налогам. Описание и состав входной и выходной информации, запросов, структуры базы данных.
дипломная работа [4,6 M], добавлен 12.12.2010