Создание программы в среде Delphi 7 для упрощения и автоматизации расчетов стоимости пластиковых оконных конструкций и дверей. Разработка программы с учётом расчёта стоимости заказываемых изделий, сохранением заказов в файлы, вывод отчетов на печать.
Аннотация к работе
Предусмотренный в программе расчет стоимости оконных конструкций позволяет самостоятельно выбирать форму и тип оконных модулей, благодаря чему с помощью программы можно рассчитать стоимость оконных конструкций практически любого типа. Все заказы рассчитанные с помощью программы автоматически сохраняются в папку заказов, также программа позволяет производить различные операции с этими файлами, например печать, просмотр, редактирование и т.д. В программе будут реализованы возможности добавления данных о заказах, вывод отчетов на печать, а также расчет стоимости оконных конструкций с дополнительной комплектацией. Программа должна: добавлять, удалять, просматривать данные о заказе и заказчике в файлах, выводить отчеты на печать, записывать и читать данных в файлах, а также производить расчеты стоимости заказов. Данная программа занимает мало места на диске, поэтому ее легко перемещать на сменные носители, но все же для полной надежности программу «Урал Строй Монтаж» лучше хранить на винчестере (HDD), в связи с тем, что неожиданно может понадобиться изменение структуры задачи, либо внесение каких - либо изменений в базу данных.
Список литературы
Попов В. М. Программирование в T. Pascal . ? М.: Просвещение, 1997.
Макарова И. Р. Информатика. ? М.: Финансы и статистика, 2003.
Рудаков А. В. Технология разработки программных продуктов. ? М.: Академия, 2004.
Хомоненко А. Гофман В. Delphi 7 в подлиннике. ? М.: Просвещение, 2004.
Никифоров В. В. Основы разработки программных продуктов. ? М.: Просвещение, 2004.
Марченко А. И. Программирование в среде T. Pascal. ? Киев: Юниор, 1997.
Немнюгин С. А. Программирование на языке высокого уровня. ? М.: Просвещение, 1996.
Вендров А. М. Проектирование программного обеспечения экономических информационных систем. ? М.: Финансы и статистика, 2000. ? 352 с.
Соммервил И. Инженерия программного обеспечения. ? М.: СПБ.: Киев: Изд. Дом «Вильямс», 2002. ? 624 с.
Приложение А Входные документы
Приложение Б
Текст программы program Project1;
uses
Forms, Unit1 in "Unit1.pas" {Form1}, Unit2 in "Unit2.pas" {Form2}, Unit3 in "Unit3.pas" {Form3}, Unit4 in "Unit4.pas" {Form4}, Unit6 in "Unit6.pas" {Form6}, Unit7 in "Unit7.pas" {Form7}, Unit12 in "Unit12.pas" {Form12}, Unit13 in "Unit13.pas" {Form13}, Unit11 in "Unit11.pas" {Form11}, Unit16 in "Unit16.pas" {Form16}, Unit8 in "Unit8.pas" {Form8}, Unit9 in "Unit9.pas" {Form9}, Unit5 in "Unit5.pas" {Form5}, Unit15 in "Unit15.pas" {Form15}, Unit17 in "Unit17.pas" {Form17}, Unit18 in "Unit18.pas" {Form18}, Unit19 in "Unit19.pas" {Form19}, Unit20 in "Unit20.pas" {Form20}, Unit21 in "Unit21.pas" {Form21}, Unit22 in "Unit22.pas" {Form22}, Unit10 in "Unit10.pas" {Form10}, Unit14 in "Unit14.pas" {Form14};
begin if (Edit1.Text="")or(Edit2.Text="")or(Memo1.Text="") then showmessage("Не введены обязательные параметры!") else if (MASKEDIT3.Text=" - - ") and (MASKEDIT2.Text="(8) ")then showmessage("Введите хотя бы один номер телефона!") else begin fiozam:=Edit1.Text; fiozak:=Edit2.Text;
Var b,a:string; begin if (fiozam="")or(fiozak="")or(adres="") then showmessage("Не введены обязательные параметры!") else if prof="" then Showmessage("Введите информацию о заказе!")else begin RICHEDIT1.Lines.LOADFROMFILE(dir "\Отчеты\ЕВРОДОМ.rtf");
Search_And_Replace(Richedit1, "№1",prof );
Search_And_Replace(Richedit1, "№2",spak);
Search_And_Replace(Richedit1, "№4",mon);
Search_And_Replace(Richedit1, "№3",got );
if (SOB="")and(Lam="")and(So9="") then b:="" else if (SOB="")or(Lam="")or(So9="") then begin if SOB="" then b:=Lam "; " So9 "; " ton;
if Lam="" then b:=SOB "; " So9 "; " ton;
if So9="" then b:=SOB "; " Lam "; " ton;
if (Lam="")and(So9="") then b:=SOB "; " ton end else b:=SOB "; " Lam "; " So9 "; " ton;
Var p:integer;begin if Msg1.Sender.CLASSNAME="TBITBTN" then begin if msg1.Sender.Hint="1" then begin p:=pos("#Глухой",nam);delete(nam,p,7);msg1.Sender.Destroy;end;
if msg1.Sender.Hint="2" then begin p:=pos("#Поворотный",nam);delete(nam,p,11);msg1.Sender.Destroy;end;
if msg1.Sender.Hint="3" then begin p:=pos("#Откидной",nam);delete(nam,p,9);msg1.Sender.Destroy;end;
if msg1.Sender.Hint="4" then begin p:=pos("#балкон1",nam);delete(nam,p,8);msg1.Sender.Destroy;end;
if msg1.Sender.Hint="5" then begin p:=pos("#Балкон2",nam);delete(nam,p,8);msg1.Sender.Destroy;end;
if msg1.Sender.Hint="6" then begin p:=pos("#Вход",nam);delete(nam,p,5);msg1.Sender.Destroy;end;end;end;
begin if (label14.Caption="Поворотный")or(label14.Caption="Откидной") then if STRINGGRID1.Cells [3, stol]"да" then begin sen1:=strtofloat(STRINGGRID1.Cells [2, stol]);
sen:=sen1 16;
STRINGGRID1.Cells [2, stol]:=floattostr(sen);
STRINGGRID1.Cells [3, stol]:="да";
SHOWMESSAGE("Расчет закончен!");end else Showmessage("На этом модуле уже стоит маскитка!") else Showmessage("На данный модуль нельзя ставить маскитку!");end;
if e<=(impost-1) then form20.Showmodal else showmessage("Превышено допустимое число!");end else showmessage("Импост считается только между двумя глухими модулями!");