Учебная работа. Курсовая работа: Расчет стоимости пластиковых оконных конструкций и дверей

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Расчет стоимости пластиковых оконных конструкций и дверей

Министерство образования и науки Русской Федерации

Федеральное агентство по образованию

Государственное образование учреждения

«Оренбургский муниципальный институт»

КОЛЛЕДЖ ЭЛЕКТРОНИКИ И бизнеса

Кафедра вычислительной техники и арифметики

КУРСОВОЙ ПРОЕКТ

по дисциплине «Разработка разработки программных товаров»

Тема работы «Расчет цены пластмассовых оконных конструкций и дверей»

КОГУ 220105.4008.05П3

Управляющий работы

__________Иштерякова Т.И.

«___»_____________ 2008 г.

Исполнитель

Студент гр. 37-П-3

___________Береговой В.С.

«___»_____________ 2008 г.

Оренбург 2008

Министерство Образования и науки Русской Федерации

Федеральное агентство по образованию

Государственное образование учреждения

«Оренбургский муниципальный институт»

КОЛЛЕДЖ ЭЛЕКТРОНИКИ И бизнеса

Кафедра вычислительной техники и арифметики

Задание на курсовой проект

По дисциплине «Разработка разработки программных товаров»

Тема работы «Расчет цены пластмассовых оконных конструкций и дверей»

Начальные данные:

Прайс-лист цены оконных конструкций,

виды оконных конструкций,

технические допуски оконных конструкций,

данные о заказах и заказчике

_________________________

Дата выдачи задания: «21»февраля 2008 г.

Управляющий: _____________Иштерякова Т. И.

Исполнитель:

Студент гр. 37-П-3 _________Береговой В.С.

Дата защиты задания: « »______2008 г

Оренбург 2008

Инструкция

В данном курсовом проекте представлена программка «Расчет цены пластмассовых оконных конструкций».

Главный целью программки является упрощение и автоматизация расчетов цены пластмассовых оконных конструкций. способности программки разрешают сформировывать отчеты, создавать расчеты цены разных пластмассовых оконных конструкций, сохранять все заказы в файлы, выводить на печать отчеты.

Данный программный продукт написан в среде Delphi 7 и был основан на модульном программировании. Для реализации данной программки на ЭВМ был использован язык Borland Delphi 7.0.

Delphi — красивая система зрительного объектно-ориентированного программирования, идиентично пригодная и новеньким, и опытным программерам. Новенькому она дозволяет с маленькими затратами сил и времени создавать прикладные программки, которые снаружи неотличимы от программ, сделанных специалистами, и удовлетворяют всем требованиям Windows.

Разработанная программка создана для работы лишь в среде Windows либо остальных Windows – схожих систем.

The summary

In the given academic year project the program « Calculation of cost of plastic window designs » is submitted.

The basic purpose of the program is simplification and automation of calculations of cost of plastic window designs. Opportunities of the program allow forming reports, to make calculations of cost of various plastic window designs, to keep all orders in files, to print reports.

The given software product is written in Delphi 7 environment and has been based on modular programming. Language Borland Delphi has been applied for realization of the given program on the Borland Delphi 7.0.

Delphi — the fine system of visual object-oriented programming equally suitable both to beginners, and skilled programmers. She allows the beginner with small expenses of forces and time to create applied programs which are externally indistinguishable from the programs created by professionals, and meet all requirements Windows.

The developed program is intended for work only in Windows environment or others Windows — similar systems.

Содержание

Введение 4

1 Постановка задачки 5

1.1 структура взаимодействия входной и выходной инфы 5

1.2 Требования к программно-аппаратному окружению 5

1.3 Требования к функциям, выполняемым системой 5

1.4 Требования к эргономичности и технической эстетике интерфейса 5

1.5 Требования к надежности и хранению инфы 7

2 Объяснительная записка 6

2.1 Способ решения 7

2.2 Структурная схема программки 7

2.3 Диалоговый режим 8

2.4 Эскиз и спецификация типовых объектов управления графического интерфейса 8

3 Управление системного программера 8

3.1 Схема взаимодействия модулей 9

3.2 Описание модулей 9

3.3 Настройка и проверка программки 9

3.3.1 Тестирование программного продукта. методы тестирования. 10

3.3.2 Сообщение системному программеру. 11

4 Управление оператора

4.1 Выполнение программки 11

4.2 Сообщение оператору 13

Заключение 13

Перечень использованных источников 14

приложение А — Входные и выходные документы 17

Приложение Б — Текст программки 18

Введение

Работа компании «Урал Строй Установка» связанна с пластмассовыми окнами и дверьми: установка, замеры, прием заказов, и т.д. При приеме заказов приходится создавать все расчеты вручную, это весьма затрудняет процесс. Для убыстрения и упрощения работы разработана программка «Урал Строй Установка», которая делает все поставленные задачки.

Программный продукт дозволяет добавлять данные о заказчике и заказе в базу данных, удалять и просматривать уже имеющиеся в ней данные. Осуществляются функции запросов и печати отчетов, также дозволяет существенно упростить расчет цены заказов. Расчет осуществляется с учётом доборной комплектации оконных конструкций (тонировка, подоконники, ламинирование, и т.д.). Предусмотренный в программке расчет цены оконных конструкций дозволяет без помощи других выбирать форму и тип оконных модулей, по этому при помощи программки можно высчитать стоимость оконных конструкций фактически хоть какого типа. Все заказы рассчитанные при помощи программки автоматом сохраняются в папку заказов, также программка дозволяет создавать разные операции с этими файлами, к примеру печать, просмотр, редактирование и т.д. Потому что Компания«Урал Строй Установка» работает лишь с изготовителем оконных конструкций «Exprof», то все цены, характеристики, технические допуски этого изготовителя являются эталоном для программки. Но в программке имеется возможность настроить все характеристики без помощи других, потому программный продукт можно просто настроить на другого изготовителя, если это будет нужно.

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

1 Постановка задачки

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

1.1 Схема взаимодействия входной и выходной инфы

Схема взаимодействия входной и выходной инфы изображена на рисунке 1.

Данные о

заказчике

Данные о

размерах

задачка

Данные о

заказе

Набросок 1 – Схема взаимодействия входной и выходной инфы

Входная информация по задачке определяются как данные, поступающие на вход задачки и применяемые для её решения. Функция обработки входной инфы заключается в последующем: обработка ввода, хранение вводимых данных.

Выходная информация по задачке быть может представлена в виде документов (типа листинга), файл БД. В данной программке выходная информация будет представлена в виде: отчета, в каком содержатся сведения о заказчике и заказе.

Функция обработки выходной инфы заключается в формировании документов выводимых на печать; поиск нужных данных.

1.2 Требования к программно-аппаратному окружению

Минимальными системными требованиями для данной задачки могут послужить средства вычислительной техники не ниже:

машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор: Pentium III и выше;

— ОЗУ не меньше 128Мб;

видеоплата с памятью не наименее 64Мб;

— Звуковая карта;

— CD-ROM;

— Монитор.

Программное обеспечение работоспособности программки «Расчет цены пластмассовых оконных конструкций»:

— ОС: Windows XP;

— Microsoft Office;

— Delphi 7.

1. 3 Требования к функциям, выполняемой системой

Разработанный программный продукт «Расчет цены пластмассовых оконных конструкций» должен удовлетворять эргономическим требованиям. Программка обязана: добавлять, удалять, просматривать данные о заказе и заказчике в файлах, выводить отчеты на печать, записывать и читать данных в файлах, также создавать расчеты цены заказов.

1.5 Требования к эргономичности и технической эстетике интерфейса

юзера

Эргономичность − научно прикладная дисциплина, занимающаяся исследованием и созданием действенных систем, управляемых человеком. Эргономичность изучает движение человека в процессе производственной деятельности, издержки его энергии, производительность и интенсивность при определенных видах работ.

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

Техно Эстетика — это теоретическая и методологическая дисциплина, предметом которой являются: во-1-х, способности и ограничения, доставляемые искусством технике, а техникой — искусству, а во-2-х, методы их сосуществования и взаимоосуществления.

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

1.6 Требования к надёжности и хранению

Для надежности данную программку можно хранить на твердом диске, но потому что работать с ней могут как бухгалтера, так и экономисты, то приходиться использовать сменные носители, т.е. дискеты, CD-диски. Данная программка занимает не много места на диске, потому её просто перемещать на сменные носители, но всё же для полной надёжности программку «Урал Строй Установка» лучше хранить на винчестере (HDD), в связи с тем, что нежданно может пригодиться изменение структуры задачки, или внесение каких — или конфигураций в базу данных. Для установки программки нужно 20 МБ памяти на твердом диски и не наименее 128 МБ оперативки.

2 Объяснительная записка

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

2. 1 способ решения

Объектно-ориентированное программирование представляет собой метод программирования, который припоминает процесс людского мышления.

Модульное программирование – организация программки как совокупы маленьких независящих блоков, именуемых модулями, структура и поведение которых подчиняются определенным правилам.

Внедрение модульного программирования дозволяет упростить тестирование программки и обнаружение ошибок.

Модуль состоит из заголовка, в каком опосля главного слова “unit” указывается имя модуля, и 4 разделов: интерфейса, реализации, инициализации и деинициализации.

В разделе интерфейса располагаются описания идентификаторов, которые должны быть доступны всем модулями и программкам, использующим этот модуль и содержащим его имя в перечне uses. В разделе интерфейса объявляются типы, константы, переменные и подпрограммы. При всем этом для подпрограмм указываются лишь их заглавия. Остальные применяемые модули указываются в перечне “uses”. Этот раздел начинается главным словом “interface”.

В разделе реализации размещается код подпрограмм, заглавия которых были приведены в разделе интерфейса. тут можно обрисовывать типы, объявлять константы и переменные и обрисовывать подпрограммы, которые употребляются лишь в этом модуле и за его пределами не заметны. Раздел реализации начинается главным словом “implementation”.

При разработке программки были применены последующие способности Delphi: внедрение разных компонент, позволяющих сделать как вид программки, так и реализовывать многофункциональные задачки программки. Функции обработки инфы представляют собой ввод данных юзеров, сохранение и загрузка данных на диске, юзер может добавлять данные и сохранять их в файл. Для сотворения приятного интерфейса использовались составляющие также из среды Delphi.

2.2 Структурная схема программки

Разработанная программка имеет довольно комфортную для работы юзера структуру, соответственная основному требованию, предъявляемому к структуре программки. Меню программки представляет собой структурную схему представленную на рисунке 2.

Документация

Набросок 2 – Структурная схема программки

2.3 Диалоговый режим

Диалоговый режим – взаимодействие юзера с программным продуктом таковым образом, что ведется обмен сообщениями, влияющими на обработку данных.

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

В данном программном продукте употребляется диалоговый режим с твердым сценарием диалога, который представлен в виде меню – диалог инициализируется программкой; юзеру предлагается выбор кандидатуры функций обработки из фиксированного списка. Юзеру предлагается выбор из 5 пт меню: заказ, инструменты, база данных, помощь, справка. Меню имеет иерархический вид, потому что при выбирании 1-го пт меню возникает подменю и так дальше;

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

Пункт меню «Данные» содержит подпункты «Заказы», «Отчеты». При выбирании 1-го из пт юзеру предоставляется возможность работы с файлами заказов либо отчетов сохраненных в каталоге «БД».

Пункт меню «Инструменты» содержит подпункты: «Шаблоны», «Расчет цены» и «Конвертор валют». При выбирании пт меню «Шаблоны», на дисплее возникает окно позволяющее юзеру создавать эскизы окон для предстоящей работы с ними. При выбирании пт меню «Расчет цены», на дисплее возникает окно позволяющее юзеру создавать расчет цены пластмассовых оконных конструкций. При выбирании пт меню «Конвертор валют», на дисплее возникает окно позволяющее юзеру преобразовать, приобретенный при расчете цены, итог из одной валюты в другую.

Пункт меню «Помощь» содержит подменю: «О программке» — информация о программке; «О создателе» — информация о создателе.

Пункт меню «Справка» — полная информация по работе с программкой.

2.4 Эскиз и спецификация типовых объектов управления графического

интерфейса

Эскиз графического интерфейса юзера представлен на рисунке 2.

Набросок 3 — Графический интерфейс юзера

Для сотворения диалогового окна использовались объекты:

Полоса меню (MainMenu)- дает выбор главных функций обработки инфы, выставленные в программке, к примеру, «Инструменты»;

Метка (Label) – неизменный текст, не подлежащий изменению при работе юзера с экранной формой, к примеру , «Ф.И.О. Замерщика»;

Обычная клавиша (Button) – служит для выдачи установок на выполнение определённых многофункциональных действий.

Командная клавиша (BitBtn) — служит для выдачи установок на выполнение определённых многофункциональных действий, на поверхности клавиши размещен набросок, к примеру, «Готово»;

Однобокий редактор (Edit) – для отображения и конфигурации текста, к примеру, при добавлении текста в файл;

Многострочный редактор(Memo)- для ввода огромного объёма текстовой инфы;

RadioGroup – группа зависимых переключателей, содержит особые характеристики для обслуживания нескольких связанных зависимых переключателей.

Memo – многострочный текстовый редактор, употребляется для ввода и отображения многострочного текста.

MainMenu – основное меню программки, дозволяет создавать и обслуживать сложные иерархические меню.

Image – набросок, предназначен для отображения рисунков, в том числе пиктограмм.

StringGrid – таблица строк, владеет сильными способностями для представления текстовой инфы в табличном виде.

PrintDialog – печать, реализует обычное диалоговое окно выбора характеристик для печати документов.

Combobox– всплывающий перечень, содержит перечень других значений для выбора.

ScrollBar- полоса прокрутки, служит для прокрутки списков и частей, выходящих за определённую ограниченную область.

3 Управление программера

3.1 Схема взаимодействия модулей

Схема взаимодействия модулей представлена на рисунке 4.

Unit 15

Набросок 4 — Схема взаимодействия модулей

3.2 Описание модулей

программка содержит в себе 22 модуля, любой из которых делает определённые функции:

Unit1 — основной модуль программки, при вызове модуля к выполнению на дисплее показаться основное окно программки, содержащее меню и панель управления;

Unit2 – вызывается из меню «Заказы — Характеристики», производит возникновение на экран окна «Характеристики», для конфигурации опций программки.

Unit3 – вызывается из меню «Помощь – О программке», производит возникновение на экран окна «О программке», для просмотра сведений о программке;

Unit4 – вызывается из меню «Помощь – О создателе», производит возникновение на экран окна «О создателе», для просмотра сведений о создателе;

Unit5 – вызывается из меню, производит возникновение на экран окна «Справка», окно содержит информацию по работе с программкой;

Unit6 –производит создание эскизов пластмассовых окон;

Unit7 – вызывается при выбирании пт меню «Инструменты», производит возникновение на экран окна «Расчет цены. Окно дозволяет создавать подготовку всех характеристик перед расчетом;

Unit8 – вызывается окна «Расчет цены», производит возникновение на экран окна «Расчет», и дозволяет создавать расчет пластмассовых оконных конструкций;

Unit9 – вызывается из меню, производит возникновение на экран окна «Конвертор валют», для конвертирования результатов расчетов из одной валюты в другую;

Unit10 – вызывается из меню, производит возникновение на экран окна «Отчет», для просмотра, печати и записи данных в файл;

Unit11 – вызывается из меню, производит возникновение на экран окна «Новейший заказ», ввод количества изделий;

Unit12 – вызывается при выбирании пт меню «База данных — Заказы», производит возникновение на экран окна «Заказы». Окно дозволяет создавать операции над файлами заказов;

Unit13 – вызывается из окно «Характеристики», производит возникновение на экран окна «Технические допуски», окно дозволяет изменять технические свойства оконных модулей;

Unit14 – вызывается из окна «Расчет», производит расчет скидки на стоимость оконных конструкций;

Unit15 – вызывается из окна «Расчет», производит расчет цены ламинирования оконных конструкций;

Unit16 – вызывается из окна «Новейший заказ», производит ввод данных о заказчике и заказе;

Unit17 – вызывается из окна «Расчет», производит расчет цены тонировки оконных конструкций;

Unit18 – вызывается из окна «Расчет», производит расчет цены подоконников;

Unit19 – вызывается из окна «Расчет», производит расчет цены профиля;

Unit20 – вызывается из окна «Расчет», производит расчет цены импоста;

Unit21 – вызывается из окна «Характеристики», дозволяет изменять цены на подоконники;

Unit22 – вызывается из окна «Характеристики», дозволяет изменять цены на тонировку;

3. 3 Настройка и проверка программки

У разработанного программного продукта имеется возможность изменять цены на оконные конструкции и доп комплектацию, также наибольшие и малые размеры оконных модулей, потому перед началом работы с программкой нужно ввести все характеристики. Если этого не создать, то расчет цены будет произведен по обычным характеристикам, что может привести к неправильным результатам. Настройку характеристик можно произвести, выбрав в меню «Заказ» — «Характеристики».

3. 3. 1 Тестирование программного продукта. методы тестирования

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

Для всякого программного изделия должен существовать набор тестов, проверяющий его правильность. Существует несколько уровней тестирования, позволяющих стопроцентно проверить программное изделие. Любой уровень имеет свои цели и составляющие. Можно выделить 5 уровней тестирования: модульное; интеграционное; системное; выходное; приёмочное.

Модульное тестирование представляет собой процесс проверки отдельных программных процедур и подпрограмм, входящих в состав программ либо программных систем. Модульное тестирование делается конкретным разрабом и дозволяет инспектировать все внутренние структуры и потоки данных в любом модуле. Этот вид тестирования является частью разработки.

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

Системное тестирование создано для проверки программной системы в целом, её организации и функционирования на соответствие спецификациям требований заказчика. Его проводит независящий тестировщик опосля удачного окончания интеграционного тестирования.

Выходное тестирование – оканчивающий шаг тестирования, на котором проверяется готовность ПП к поставке заказчику. Данный вид тестирования проводит независящий тестировщик.

Приёмочное тестирование – тестирование проводится организацией, отвечающей за установку, сопровождение программной системы и обучение конечного юзера.

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

В таковых местах программки предусмотрены такие проверки как:

— на правильность ввода данных;

— на наличие нужных файлов для работы программки;

— на правильные и поочередные выполнения действий в работе с программкой;

— на наличие в операционной системе Microsoft Word.

3. 3. 2 Сообщение системному программеру

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

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

Сбои в работе программки могут происходить из-за нехватки памяти либо отсутствия остальных нужных системных ресурсов. У каждой программки свои пределы, программка может не управляться с завышенными перегрузками, к примеру со очень большенными объёмами данных.

Так в разработанном программном продукте находятся последующие ограничения: любой файл заказа в среднем имеет размер 15 кб, потому программка ограничивается лишь размером твердого диски и объемом оперативки, т.к. при расчете цены программке нужно в среднем 70 мб памяти.

Для установки программки, нужно запустить самораспаковывающийся архив, избрать папку в которую необходимо установить программку на твердом диске, и архив без помощи других скопирует все файлы и создаст ярлычек на десктопе.

Если скопировать программку на какое-либо другое устройство либо диск программка может работать неправильно.

4 Управление оператора

Разработанный программный продукт снабжён диалоговыми окнами и предупреждающими сообщениями, которые посодействуют оператору просто эксплуатировать программку.

4. 1 Выполнение программки

Во время выполнения программки главные операции ввода снабжены сообщениями и предупреждениями. В основном окне программки видно текущей номер заказа, также все элементы имеют всплывающие подсказки. основное окно указывает режим редактирования, время, дату, имеет панель для ввода данных о заказчике и заказе.

В программке любая операция с файлами – удаление, редактирование, добавление заказов снабжена доп диалоговым окном.

Дополнительнительная информация по выполнению программного продукта содержится в пт 2.3 Диологовый режим.

4. 2 Сообщение оператору

При работе программки, другими словами конкретном вводе данных и следующей записи регистрационных данных в файл возникает диалоговое окно изображенное на рисунке 5.

Набросок 5 – Диалоговое окно

Если запись в файл происходит без главных данных то, будет выведено диалоговое окно изображенное на рисунке 6.

Набросок 6 – Диалоговое окно

Если не введен ни один номер заказчика то покажется диалоговое окно изображенное на рисунке 7.

Набросок 7 − Диалоговое окно

Если попробовать произвести расчет, не загрузив данные о стоимости из файла, то покажется диалоговое окно изображенное на рисунке 8.

Набросок 8 − Диалоговое окно

Заключение

Результатом курсового проекта является программка, выполненная в среде Delphi, с внедрением доп компонент, и разработанная по всем правилам разработки программного продукта.

программка предугадывает выполнение строго ограниченных функций, нужных для служащих компании.

В программке применены и закреплены фактически все способности программирования в среде Delphi 7.

За время работы над работой я закрепил способности работы с встроенной средой программирования Delphi 7.0, а так же работу с необычными компонентами. При разработке данной программки мне пришлось столкнуться с обилием заморочек. Но благодаря использованию различной литературы, также ранее приобретенного опыта удалось обойти либо решить большая часть этих заморочек. Скопленный мной опыт, непременно, понадобится в дальнейшем, при разработке программ.

Перечень использованных источников

Попов В. М. Программирование в 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};

{$R *.res}

begin

Application.Initialize;

Application.Title:= ‘УралСтройМонтаж’;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm6, Form6);

Application.CreateForm(TForm7, Form7);

Application.CreateForm(TForm12, Form12);

Application.CreateForm(TForm13, Form13);

Application.CreateForm(TForm11, Form11);

Application.CreateForm(TForm16, Form16);

Application.CreateForm(TForm8, Form8);

Application.CreateForm(TForm9, Form9);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm15, Form15);

Application.CreateForm(TForm17, Form17);

Application.CreateForm(TForm18, Form18);

Application.CreateForm(TForm19, Form19);

Application.CreateForm(TForm20, Form20);

Application.CreateForm(TForm21, Form21);

Application.CreateForm(TForm22, Form22);

Application.CreateForm(TForm10, Form10);

Application.CreateForm(TForm14, Form14);

Application.Run;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Menus, ExtCtrls, StdCtrls, XPMan, ComCtrls, Unit9, Mask,Buttons, jpeg ,Unit11, syncobjs,ImgList;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;N2: TMenuItem;

N19: TMenuItem;N18: TMenuItem;

N4: TMenuItem;N3: TMenuItem;

N5: TMenuItem;N6: TMenuItem;

N7: TMenuItem;N8: TMenuItem;

N9: TMenuItem;N10: TMenuItem;

N12: TMenuItem;N13: TMenuItem;

N15: TMenuItem;N16: TMenuItem;

N17: TMenuItem;Panel1: TPanel;

Label4: TLabel; Label1: TLabel;

Edit1: TEdit; Label2: TLabel;Edit2: TEdit;

Label3:TLabel;Label6:TLabel; SaveDialog1: TSaveDialog;

OpenDialog1: TOpenDialog; PrintDialog1: TPrintDialog;

XPManifest1: TXPManifest; Memo1: TMemo;

N20: TMenuItem; ControlBar1: TControlBar;

FontDialog1: TFontDialog; SpeedButton4: TSpeedButton;

SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton; SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton;

SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton;

DateTimePicker1: TDateTimePicker;Timer1: TTimer;N11: TMenuItem;

Image1: TImage; Image2: TImage;Label9: TLabel;SpeedButton13: TSpeedButton;

SpeedButton14: TSpeedButton;Label8: TLabel; MaskEdit3: TMaskEdit;

Label7: TLabel; MaskEdit2: TMaskEdit;Label10: TLabel;

Label5: TLabel; Label12: TLabel; Memo4: TMemo; Timer2: TTimer;

RichEdit1: TRichEdit; SpeedButton11: TSpeedButton; Label11: TLabel;

N14: TMenuItem; procedure N5Click(Sender: TObject);

procedure N16Click(Sender: TObject); procedure N17Click(Sender: TObject);

procedure N7Click(Sender: TObject); procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject); procedure N3Click(Sender: TObject);

procedure N18Click(Sender: TObject); procedure N19Click(Sender: TObject);

procedure N11Click(Sender: TObject); procedure N13Click(Sender: TObject);

procedure N2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton7Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure SpeedButton11Click(Sender: TObject);

procedure N20Click(Sender: TObject); procedure FormCreate(Sender: TObject);

procedure SpeedButton13Click(Sender: TObject);

procedure SpeedButton9Click(Sender: TObject);

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

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

procedure SpeedButton8Click(Sender: TObject);

procedure SpeedButton14Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

CheckEvent: TEvent; Form1: TForm1; dir:string; kolok:integer;

prof,spak,mon,got:string;fiozam,fiozak,adres,data,itog,domtel,sottel:string;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit10, Unit12,

Unit15;

{$R *.dfm}

procedure TForm1.N5Click(Sender: TObject);

begin form2.Showmodal end;

procedure TForm1.N16Click(Sender: TObject);

begin form3.Showmodal end;

procedure TForm1.N17Click(Sender: TObject);

begin form4.Showmodal end;

procedure TForm1.N7Click(Sender: TObject);

var dlg:Word; begin

dlg:=MessageDlg(‘Вы

буквально желаете выйти???’,mtConfirmation,mbYesNoCancel,0);

if dlg = mrYes then close; end;

procedure TForm1.N9Click(Sender: TObject);

begin form6.Showmodal; end;

procedure TForm1.N10Click(Sender: TObject);

begin form7.Showmodal; end;

procedure TForm1.N3Click(Sender: TObject);

begin Form1.PrintDialog1.Execute; end;

procedure TForm1.N18Click(Sender: TObject);

begin if Form1.SaveDialog1.Execute then

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName); end;

procedure TForm1.N19Click(Sender: TObject);

begin if form1.OpenDialog1.Execute then

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); end;

procedure TForm1.N11Click(Sender: TObject);

begin form9.Showmodal; end;

procedure TForm1.N13Click(Sender: TObject);

begin form12.Showmodal; end;

procedure TForm1.N2Click(Sender: TObject);

begin form11.Show; end;

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin RichEdit1.Paragraph.Alignment:=taLeftJustify; end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin RichEdit1.Paragraph.Alignment:=taRightJustify; end;

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin if FontDialog1.Execute then

RichEdit1.SelAttributes.Assign(FontDialog1.Font);

RichEdit1.SetFocus; end;

procedure TForm1.SpeedButton7Click(Sender: TObject);

begin if Form1.SaveDialog1.Execute then

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName); end;

procedure TForm1.SpeedButton6Click(Sender: TObject);

begin if form1.OpenDialog1.Execute then

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); end;

procedure TForm1.SpeedButton5Click(Sender: TObject);

var f: Integer;

begin for f := 0 to ComponentCount — 1 do begin

if (Components[f] is TEdit) then (Components[f] as TEdit).Text := »;

if (Components[f] is TMaskEdit) then (Components[f] as TMaskEdit).Text := »;

if (Components[f] is TMemo) then (Components[f] as TMemo).Text := »;end;

RichEdit1.Clear;

prof:=»;spak:=»;mon:=»;got:=»; got:=»;adres:=»;fiozam:=»;fiozak:=»;

Showmessage(‘Введите все данные по заказу!’); end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin RichEdit1.Paragraph.Alignment:=taCenter;end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin Label5.Caption:= ‘Дата ‘ + dateToStr(date);

Label11.Caption:=’Номер заказа: ‘+ intToStr(nzak);

Label9.Caption:= ‘время ‘ + TimeToStr(Time); end;

procedure TForm1.SpeedButton11Click(Sender: TObject);

begin if (Edit1.Text=»)or(Edit2.Text=»)or(Memo1.Text=»)

then showmessage(‘Не введены неотклонимые характеристики!’)

else if (MaskEdit3.TextactiveXand (MaskEdit2.Text='(8) ‘)then

showmessage(‘Введите хотя бы один номер телефона!’) else

begin fiozam:=Edit1.Text; fiozak:=Edit2.Text;

adres:=Memo1.Text; domtel:=MaskEdit3.Text;

sottel:=MaskEdit2.Text; data:=datetostr(DateTimePicker1.Date);

got:=memo4.Text; Form7.Showmodal; end; end;

procedure TForm1.N20Click(Sender: TObject);

begin form5.Showmodal; end;

procedure TForm1.FormCreate(Sender: TObject);

var f:textfile;s:string;

begin CheckEvent := TEvent.Create(nil, false, true, ‘MYPROGRAM_CHECKEXIST’);

if CheckEvent.WaitFor(10) <> wrSignaled then

begin Showmessage(‘программка уже запущена!’);

Self.Close; halt; end;

DateTimePicker1.Date:=Date; odn:=»;

dir:=ExtractFilePath(Application.ExeName);

AssignFile(f,dir+’nzak.txt’);

Reset(f); Read(f,s); nzak:=StrToInt(s); CloseFile(f); end;

function Search_And_Replace(RichEdit: TRichEdit;

SearchText, ReplaceText: string): Boolean;

var startpos, Position, endpos: integer;

begin startpos := 0;

with RichEdit do begin endpos := Length(RichEdit.Text);

Lines.BeginUpdate;

while FindText(SearchText, startpos, endpos, [stMatchCase])<>-1 do

begin endpos := Length(RichEdit.Text) — startpos;

Position := FindText(SearchText, startpos, endpos, [stMatchCase]);

Inc(startpos, Length(SearchText)); SetFocus; SelStart := Position;

SelLength := Length(SearchText); richedit.clearselection;

SelText := ReplaceText; end;

Lines.EndUpdate; end; end;

procedure TForm1.SpeedButton13Click(Sender: TObject);

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;

Search_And_Replace(Richedit1, ‘#B’,b);

a:=MarkP+'(‘+RazPod+’)’+Podsen+’у.е’;

if a='()у.е’ then a:=»;

Search_And_Replace(Richedit1, ‘#A’,a );

if sottel='(8) ‘ then

Search_And_Replace(Richedit1, ‘#6′,’ ‘)

else

Search_And_Replace(Richedit1, ‘#6’,sottel);

Search_And_Replace(Richedit1, ‘#C’,itog);

Search_And_Replace(Richedit1, ‘#5’,domtel);

Search_And_Replace(Richedit1, ‘#1’,fiozam );

Search_And_Replace(Richedit1, ‘#2’,data);

Search_And_Replace(Richedit1, ‘#3’,fiozak );

Search_And_Replace(Richedit1, ‘#4’,adres );

end; end;

procedure TForm1.SpeedButton9Click(Sender: TObject);

begin

RichEdit1.Perform(EM_UNDO, 0, 0);end;

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

var //цифровая маска

vrLength, vrSelStart: byte;

begin

with Sender as TEdit do begin

vrLength := Length(Text); //определяем длину текста

vrSelStart := SelStart; //определяем положение курсора

end;

case Key of ‘А’..’Я’:begin end;

‘а’..’я’:begin end;

#8:begin end;

#32:begin end;

#46:

else

Key := #0; //»погасить» все другие клавиши

end;end;

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

var //цифровая маска

vrLength, vrSelStart: byte;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrSelStart := SelStart;

end;

case Key of ‘А’..’Я’:begin end;

‘а’..’я’:begin end;

#8:begin end;

#32:begin end;

#46:

else

Key := #0; //»погасить» все другие клавиши end;end;

procedure TForm1.SpeedButton8Click(Sender: TObject);

begin RichEdit1.Print(‘Печать отчета’); end;

procedure TForm1.SpeedButton14Click(Sender: TObject);

begin if RichEdit1.Text<>» then begin

form10.qrimage1.Picture.LoadFromFile(dir+’temp’+’1.bmp’);

form10.qrimage2.Picture.LoadFromFile(dir+’temp’+’2.bmp’);

form10.qrimage3.Picture.LoadFromFile(dir+’temp’+’3.bmp’);

form10.qrimage4.Picture.LoadFromFile(dir+’temp’+’4.bmp’);

form10.qrimage5.Picture.LoadFromFile(dir+’temp’+’5.bmp’);

form10.qrimage6.Picture.LoadFromFile(dir+’temp’+’6.bmp’);

form10.Show; end

else Showmessage(‘Поначалу сделайте отчет!’);end;end.

unit Unit2;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, jpeg,Unit1, ExtCtrls;

type

TForm2 = class(TForm)

Image1: TImage;GroupBox1: TGroupBox;Label1: TLabel;

Label2: TLabel; Label3: TLabel; Label4: TLabel;

Label5: TLabel; Label6: TLabel; Label7: TLabel;

Label8: TLabel; Label9: TLabel; SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit; SpinEdit3: TSpinEdit; SpinEdit4: TSpinEdit;

SpinEdit5: TSpinEdit; SpinEdit6: TSpinEdit; SpinEdit7: TSpinEdit;

SpinEdit8: TSpinEdit; SpinEdit9: TSpinEdit; SpinEdit10: TSpinEdit;

SpinEdit11: TSpinEdit; SpinEdit12: TSpinEdit; GroupBox2: TGroupBox;

Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel;

Label14: TLabel; Label15: TLabel;Label16: TLabel; Label17: TLabel;

Label18: TLabel; SpinEdit13: TSpinEdit; SpinEdit14: TSpinEdit;

SpinEdit15: TSpinEdit; SpinEdit16: TSpinEdit; SpinEdit17: TSpinEdit;

SpinEdit18: TSpinEdit; SpinEdit19: TSpinEdit; SpinEdit20: TSpinEdit;

SpinEdit21: TSpinEdit; SpinEdit22: TSpinEdit; SpinEdit23: TSpinEdit;

SpinEdit24: TSpinEdit; SpeedButton4: TSpeedButton; SpeedButton3: TSpeedButton;

SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton;

SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure SpeedButton7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form2: TForm2;

implementation

uses Unit13, Unit14, Unit21, Unit22;

{$R *.dfm}

procedure TForm2.SpeedButton1Click(Sender: TObject);

begin close; end;

procedure TForm2.SpeedButton2Click(Sender: TObject);

Var s:string;

f:textfile;

begin

{$I-}

AssignFile(f,dir+’Ценыокна‘);

{$I+}

If IOResult=0 then begin

s:=dir+’ЦеныОкна’;

Rewrite(f,s+’Exprof58mm24.dat’);

Writeln(f,SpinEdit1.Value);

Writeln(f,SpinEdit2.Value);

Writeln(f,SpinEdit3.Value);

CloseFile(f);

Rewrite(f,s+’Exprof58mm32.dat’);

Writeln(f,SpinEdit4.Value);

Writeln(f,SpinEdit5.Value);

Writeln(f,SpinEdit6.Value);

CloseFile(f);

Rewrite(f,s+’Exprof101mm24.dat’);

Writeln(f,SpinEdit7.Value);

Writeln(f,SpinEdit8.Value);

Writeln(f,SpinEdit9.Value);

CloseFile(f);

Rewrite(f,s+’Exprof101mm32.dat’);

Writeln(f,SpinEdit10.Value);

Writeln(f,SpinEdit11.Value);

Writeln(f,SpinEdit12.Value);

CloseFile(f);

end else Exit;

{$I-}

AssignFile(f,dir+’ЦеныДвери’);

{$I+}

If IOResult=0 then begin

s:=dir+’ЦеныДвери’;

Rewrite(f,s+’Exprof58mm24.dat’);

Writeln(f,SpinEdit13.Value);

Writeln(f,SpinEdit14.Value);

Writeln(f,SpinEdit15.Value);

CloseFile(f);

Rewrite(f,s+’Exprof58mm32.dat’);

Writeln(f,SpinEdit16.Value);

Writeln(f,SpinEdit17.Value);

Writeln(f,SpinEdit18.Value);

CloseFile(f);

Rewrite(f,s+’Exprof101mm24.dat’);

Writeln(f,SpinEdit19.Value);

Writeln(f,SpinEdit20.Value);

Writeln(f,SpinEdit21.Value);

CloseFile(f);

Rewrite(f,s+’Exprof101mm32.dat’);

Writeln(f,SpinEdit22.Value);

Writeln(f,SpinEdit23.Value);

Writeln(f,SpinEdit24.Value);

CloseFile(f); end else Exit;

ShowMessage(‘Данные сохранены удачно!’); end;

procedure TForm2.SpeedButton3Click(Sender: TObject);

begin

SpinEdit1.Value:=58; SpinEdit2.Value:=167;

SpinEdit3.Value:=172; SpinEdit4.Value:=67;

SpinEdit5.Value:=175; SpinEdit6.Value:=181;

SpinEdit7.Value:=68; SpinEdit8.Value:=195;

SpinEdit9.Value:=201; SpinEdit10.Value:=79;

SpinEdit11.Value:=204; SpinEdit12.Value:=212;

SpinEdit13.Value:=152; SpinEdit14.Value:=157;

SpinEdit15.Value:=176; SpinEdit16.Value:=165;

SpinEdit17.Value:=170; SpinEdit18.Value:=187;

SpinEdit19.Value:=180; SpinEdit20.Value:=188;

SpinEdit21.Value:=0; SpinEdit22.Value:=194;

SpinEdit23.Value:=200;SpinEdit24.Value:=0; end;

procedure TForm2.SpeedButton4Click(Sender: TObject);

begin form13.show; end;

procedure TForm2.SpeedButton6Click(Sender: TObject);

begin form21.Show; end;

procedure TForm2.SpeedButton7Click(Sender: TObject);

begin form22.Show; end; end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls;

type

TForm3 = class(TForm)

Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel;

Label4: TLabel; Label5: TLabel; SpeedButton1: TSpeedButton;

procedure BitBtn1Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.BitBtn1Click(Sender: TObject);

begin close end;

procedure TForm3.SpeedButton1Click(Sender: TObject);

begin close; end; end.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls;

type

TForm4 = class(TForm)

Image1: TImage; Label1: TLabel; Label3: TLabel; Label2: TLabel;

Label4: TLabel; Label5: TLabel; SpeedButton1: TSpeedButton;

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.SpeedButton1Click(Sender: TObject);

begin close; end; end.

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, ExtCtrls, jpeg,unit1, Buttons;

type

TForm5 = class(TForm)

TreeView1: TTreeView; Timer1: TTimer;RichEdit1: TRichEdit;Image1: TImage;

Label3: TLabel; Label2: TLabel; Label1: TLabel; Bevel1: TBevel;Bevel2: TBevel;

SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton;

procedure Timer1Timer(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Timer1Timer(Sender: TObject);

begin

if TreeView1.Selected<>nil then begin

label3.Caption:=TreeView1.Selected.Text;

if TreeView1.Selected.Text=’Решение задач’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаОсновные задачки.rtf’);

if TreeView1.Selected.Text=’УралСтройМантаж’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаУралСтройМонтаж.rtf’);

if TreeView1.Selected.Text=’Описание интерфейса’ then

RichEdit1.Lines.LoadFromFile(dir+’Справкаинтерфейс.rtf’);

if TreeView1.Selected.Text=’Расчет цены’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаРасчет.rtf’);

if TreeView1.Selected.Text=’Системные требования’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаСистемные требования.rtf’);

if TreeView1.Selected.Text=’Создание шаблонов’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаШаблон.rtf’);

if TreeView1.Selected.Text=’установка цен’ then

RichEdit1.Lines.LoadFromFile(dir+’СправкаЦены.rtf’);end;end;

procedure TForm5.SpeedButton2Click(Sender: TObject);

begin Close; end; end.

unit Unit6;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls, unit1,Buttons, ComCtrls,Unit7, jpeg ;

type

TForm6 = class(TForm)

Panel1: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton; SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton; SpeedButton4: TSpeedButton;

SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton;

SpeedButton16: TSpeedButton; Panel2: TPanel;

UpDown2: TUpDown;UpDown1: TUpDown; SpeedButton11: TSpeedButton;

Image1: TImage; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton;

SpeedButton9: TSpeedButton; procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton16Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton14Click(Sender: TObject);

procedure SpeedButton15Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);

procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);

procedure Panel2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure SpeedButton11Click(Sender: TObject);

procedure SpeedButton9Click(Sender: TObject);

procedure SpeedButton8Click(Sender: TObject);

private

procedure CmFocusChanged (var Msg: TCmFocusChanged);

Message cm_FocusChanged;

{ Private declarations }

public

{ Public declarations }

end;

var Msg1: TCmFocusChanged; Form6: TForm6;c:string;

implementation

{$R *.dfm}

procedure TForm6.SpeedButton1Click(Sender: TObject);

begin

b1 := TBitBtn.Create(Self);

nam:=nam+’#Глухой’;

with b1 do begin

b1.Hint:=’1′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиглухой.bmp’);end;end;

procedure TForm6.CmFocusChanged (var Msg: TCmFocusChanged);

begin Msg1:=Msg; end;

procedure TForm6.SpeedButton2Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный.bmp’);end;end;

procedure TForm6.SpeedButton14Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный1.bmp’);end;end;

procedure TForm6.SpeedButton15Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный1.bmp’);end;end;

procedure TForm6.SpeedButton16Click(Sender: TObject);

begin

nam:=nam+’#Откидной’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’3′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкиоткидной.bmp’);

Parent := Panel2;end;end;

procedure TForm6.SpeedButton3Click(Sender: TObject);

begin

nam:=nam+’#Откидной’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’3′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкиоткидной.bmp’);

Parent := Panel2;end;end;

procedure TForm6.SpeedButton4Click(Sender: TObject);

begin

nam:=nam+’#балкон1′;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’4′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкибалкон1.bmp’);

Parent := Panel2;end;end;

procedure TForm6.SpeedButton6Click(Sender: TObject);

begin

nam:=nam+’#Вход’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’6′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкивход.bmp’);

Parent := Panel2;end;end;

procedure TForm6.SpeedButton5Click(Sender: TObject);

begin

nam:=nam+’#Балкон2′;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’5′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкибалкон2.bmp’);

Parent := Panel2;end;end;

procedure TForm6.UpDown1Click(Sender: TObject; Button: TUDBtnType);

begin

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.Width:=UpDown1.Position*3;

end;

procedure TForm6.UpDown2Click(Sender: TObject; Button: TUDBtnType);

begin

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.Height:=UpDown2.Position*3;

end;

procedure TForm6.Panel2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

const

SC_DragMove = $F012; { a magic number }

begin

ReleaseCapture;

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.perform(WM_SysCommand, SC_DragMove, 0);

end;

procedure TForm6.SpeedButton11Click(Sender: TObject);

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;

procedure TForm6.SpeedButton9Click(Sender: TObject);

var

B: TBitmap;

srcRect,dstRect: TRect;

begin

B:=TBitmap.Create;

with dstRect do begin

Left:=0;

Top:=0;

Right:=Panel2.Width+1;

Bottom:=Panel2.Height+1;

end;

with srcRect do begin

Left:=Panel2.Left+15;

Right:=Panel2.Left+Panel2.Width+12;

Top:=Panel2.Top;

Bottom:=Panel2.Top+Panel2.Height+12;

end;

B.Width:=Panel2.Width;

B.Height:=Panel2.Height;

B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);

B.PixelFormat:=pf1bit;

B.SaveToFile(dir+’Шаблоны’+nam+’.bmp’);

ShowMessage(‘Шаблон удачно сохранился!’);

B.Free;end;

procedure TForm6.SpeedButton8Click(Sender: TObject);

begin close;end;end.

unit Unit7;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls,unit1, ComCtrls, Buttons, Grids, Spin, jpeg;

type

TForm7 = class(TForm)

Panel1: TPanel; Panel2: TPanel; SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton;

SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton;

SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton;

Image1: TImage; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton;

ComboBox1: TComboBox; Label4: TLabel;Label3: TLabel;

ComboBox3: TComboBox; Label2: TLabel; ComboBox2: TComboBox;

UpDown1: TUpDown; UpDown2: TUpDown; Image2: TImage;

OpenDialog1: TOpenDialog; SpeedButton4: TSpeedButton;

SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton;

SpeedButton16: TSpeedButton; SpeedButton11: TSpeedButton;

SpeedButton12: TSpeedButton; SpeedButton13: TSpeedButton;

SpeedButton17: TSpeedButton; Label1: TLabel; Label5: TLabel; Label6: TLabel;

Label7: TLabel;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure Panel2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure ComboBox1Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure SpeedButton8Click(Sender: TObject);

procedure SpeedButton9Click(Sender: TObject);

procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);

procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);

procedure SpeedButton11Click(Sender: TObject);

procedure SpeedButton13Click(Sender: TObject);

procedure SpeedButton12Click(Sender: TObject);

procedure SpeedButton14Click(Sender: TObject);

procedure SpeedButton15Click(Sender: TObject);

procedure SpeedButton16Click(Sender: TObject);

procedure SpeedButton17Click(Sender: TObject);

procedure SpeedButton10Click(Sender: TObject);

procedure SpeedButton7Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

procedure CmFocusChanged (var Msg: TCmFocusChanged);

Message cm_FocusChanged;

{ Public declarations }

end; const n=15 ;

var Form7: TForm7; j,pay1,okn,tek:integer; b1 : TBitBtn; fail,put,Activ,odn:string;

Msg1: TCmFocusChanged; nam:string;

implementation

uses Unit9, Unit8;

{$R *.dfm}

procedure TForm7.CmFocusChanged (var Msg: TCmFocusChanged);

begin Msg1:=Msg; end;

procedure TForm7.SpeedButton1Click(Sender: TObject);

begin

b1 := TBitBtn.Create(Self);

nam:=nam+’#Глухой’;

with b1 do begin

b1.Hint:=’1′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиглухой.bmp’);end;end;

procedure TForm7.SpeedButton2Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный.bmp’);end;end;

procedure TForm7.SpeedButton3Click(Sender: TObject);

begin

nam:=nam+’#Откидной’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’3′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкиоткидной.bmp’);

Parent := Panel2;end;end;

procedure TForm7.SpeedButton4Click(Sender: TObject);

begin

nam:=nam+’#балкон1′;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’4′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкибалкон1.bmp’);

Parent := Panel2;end;end;

procedure TForm7.SpeedButton5Click(Sender: TObject);

begin

nam:=nam+’#Балкон2′;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’5′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкибалкон2.bmp’);

Parent := Panel2;end;end;

procedure TForm7.SpeedButton6Click(Sender: TObject);

begin

nam:=nam+’#Вход’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’6′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкивход.bmp’);

Parent := Panel2;end;end;

procedure TForm7.Panel2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

const

SC_DragMove = $F012; { a magic number }

begin

ReleaseCapture;

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.perform(WM_SysCommand, SC_DragMove, 0);

end;

procedure TForm7.ComboBox1Change(Sender: TObject);

begin

if ComboBox1.Text=’Оконные модули’ then begin

SpeedButton1.Visible:=True;SpeedButton2.Visible:=True;

SpeedButton14.Visible:=True;SpeedButton15.Visible:=True;

SpeedButton16.Visible:=True;SpeedButton3.Visible:=True;

SpeedButton4.Visible:=False;SpeedButton5.Visible:=False;

SpeedButton6.Visible:=False; end else begin

SpeedButton4.Visible:=True;SpeedButton5.Visible:=True;

SpeedButton6.Visible:=True;SpeedButton1.Visible:=False;

SpeedButton2.Visible:=False;SpeedButton3.Visible:=False;

SpeedButton14.Visible:=False;SpeedButton15.Visible:=False;

SpeedButton16.Visible:=False;end;end;

procedure TForm7.FormCreate(Sender: TObject);

begin okn:=1;

SpeedButton1.Visible:=False;SpeedButton2.Visible:=False;

SpeedButton3.Visible:=False;SpeedButton4.Visible:=False;

SpeedButton5.Visible:=False;SpeedButton6.Visible:=False;

SpeedButton14.Visible:=False;SpeedButton15.Visible:=False;

SpeedButton16.Visible:=False; end;

procedure TForm7.SpeedButton8Click(Sender: TObject);

begin

if (Combobox3.Text=») or (Combobox2.Text=») then

Showmessage(‘Укажите тип профиля и ст.-пакета’)

else begin

prof:=Combobox3.Text;

spak:=Combobox2.Text;

close;end;end;

procedure TForm7.SpeedButton9Click(Sender: TObject);

var B: TBitmap; srcRect,dstRect: TRect;

begin

if (put=») or (nam=»)then Showmessage(‘Поначалу загрузите стоимость!!!’)

else begin

B:=TBitmap.Create;

with dstRect do begin

Left:=0;

Top:=0;

Right:=Panel2.Width+1;

Bottom:=Panel2.Height+1; end;

with srcRect do begin

Left:=Panel2.Left+145;

Right:=Panel2.Left+Panel2.Width+145;

Top:=Panel2.Top+10;

Bottom:=Panel2.Top+Panel2.Height+10; end;

B.Width:=Panel2.Width;

B.Height:=Panel2.Height;

B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);

B.PixelFormat:=pf1bit;

B.SaveToFile(dir+’temp’+inttostr(okn)+’.bmp’);

B.Free;form8.Show;end;end;

procedure TForm7.UpDown1Click(Sender: TObject; Button: TUDBtnType);

begin

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.Width:=UpDown1.Position*3;end;

procedure TForm7.UpDown2Click(Sender: TObject; Button: TUDBtnType);

begin

if Msg1.Sender.ClassName=’TBitBtn’ then

msg1.Sender.Height:=UpDown2.Position*3;end;

procedure TForm7.SpeedButton11Click(Sender: TObject);

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;

procedure TForm7.SpeedButton13Click(Sender: TObject);

var B: TBitmap; srcRect,dstRect: TRect;

begin

B:=TBitmap.Create;

with dstRect do begin

Left:=0;

Top:=0;

Right:=Panel2.Width+1;

Bottom:=Panel2.Height+1; end;

with srcRect do begin

Left:=Panel2.Left+145;

Right:=Panel2.Left+Panel2.Width+145;

Top:=Panel2.Top+10;

Bottom:=Panel2.Top+Panel2.Height+10; end;

B.Width:=Panel2.Width;

B.Height:=Panel2.Height;

B.Canvas.CopyRect(dstRect,Self.Canvas,srcRect);

B.PixelFormat:=pf1bit;

B.SaveToFile(dir+’Шаблоны’+nam+’.bmp’);

ShowMessage(‘Шаблон удачно сохранился!’);

B.Free;end;

procedure TForm7.SpeedButton12Click(Sender: TObject);

Var s:string;d,a:integer;

begin

if form7.OpenDialog1.Execute then begin

image2.Top:=Panel2.Top-10;

image2.Left:=Panel2.Left-130;

image2.AutoSize:=true;

image2.Transparent:=FaLSE;

Image2.Picture.LoadFromFile(OpenDialog1.FileName);

nam:=OpenDialog1.FileName;

getdir(0,s);d:=pos(s,nam);a:=pos(‘#’,nam);

delete(nam,d,a-1);d:=pos(‘.’,nam);

delete(nam,d,4);end;end;

procedure TForm7.SpeedButton14Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный1.bmp’);end;end;

procedure TForm7.SpeedButton15Click(Sender: TObject);

begin

nam:=nam+’#Поворотный’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’2′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Parent := Panel2;

Glyph.LoadFromFile(dir+’Иконкиповоротный2.bmp’);end;end;

procedure TForm7.SpeedButton16Click(Sender: TObject);

begin

nam:=nam+’#Откидной’;

b1 := TBitBtn.Create(Self);

with b1 do begin

b1.Hint:=’3′;

Left := 20;

Top := 20;

Width := 60;

Height := 100;

Glyph.LoadFromFile(dir+’Иконкиоткидной2.bmp’);

Parent := Panel2;end;end;

procedure TForm7.SpeedButton17Click(Sender: TObject);

begin

if (Combobox1.Text=»)or(Combobox3.Text=»)or(Combobox2.Text=») then

Showmessage(‘Введите все нужные данные!’) else begin

if combobox1.Text=’Оконные модули’ then

fail:=’Ценыокна

else fail:=’ЦеныДвери’;

if (Combobox3.Text=’Exprof58mm’)and (Combobox2.Text=’Однокамерный’) then

Put:=fail+’Exprof58mm24.dat’;

if (Combobox3.Text=’Exprof58mm’)and (Combobox2.Text=’Двухкамерный’) then

Put:=fail+’Exprof58mm32.dat’;

if (Combobox3.Text=’Exprof58mm’)and (Combobox2.Text=’Одно стекло’) then begin

Put:=fail+’Exprof58mm24.dat’;

odn:=’1′;end;

if (Combobox3.Text=’Exprof101mm’)and (Combobox2.Text=’Однокамерный’) then

Put:=fail+’Exprof101mm24.dat’;

if (Combobox3.Text=’Exprof101mm’)and (Combobox2.Text=’Двухкамерный’) then

Put:=fail+’Exprof101mm32.dat’;

if (Combobox3.Text=’Exprof101mm’)and (Combobox2.Text=’Одно стекло’) then begin

Put:=fail+’Exprof101mm24.dat’;odn:=’1′;

end; Showmessage(‘Стоимость удачно загружена!’);end;end;

procedure TForm7.SpeedButton10Click(Sender: TObject);

var f: LongInt;

begin

if itog<>» then begin

if kolok>0 then kolok:=kolok-1;

tek:=tek+1;

label7.Caption:=inttostr(kolok);

label5.Caption:=inttostr(tek);

end else Showmessage(‘Поначалу расчитайте предшествующее окно!’);

nam:=»;okn:=okn+1;

for f := 0 to ComponentCount — 1 do begin

if (Components[f] is TBitBtn) then

(Components[f] as TBitBtn).Visible:=false;end;end;

procedure TForm7.SpeedButton7Click(Sender: TObject);

begin Form7.Free; end;

procedure TForm7.FormShow(Sender: TObject);

begin tek:=1;

label7.Caption:=inttostr(kolok);

label5.Caption:=inttostr(tek);end;end.

unit Unit8;

interface

uses

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

Dialogs, StdCtrls, Spin, Unit7,unit1, Buttons, ComCtrls, jpeg, ExtCtrls, Grids;

type

TForm8 = class(TForm)

Image1: TImage; Label4: TLabel;SpeedButton2: TSpeedButton;

SpeedButton9: TSpeedButton;Label9: TLabel; SpeedButton3: TSpeedButton;

SpeedButton1: TSpeedButton;Label6: TLabel; Label5: TLabel;SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit;Label2: TLabel;Label1: TLabel; Label3: TLabel;

StringGrid1: TStringGrid; Bevel3: TBevel; Label7: TLabel; Label8: TLabel;

Bevel1: TBevel; Label14: TLabel;Bevel2: TBevel; Label13: TLabel;Label10: TLabel;

SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; Label11: TLabel;

Label12: TLabel; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton;

SpeedButton4: TSpeedButton; Label15: TLabel; SpeedButton10: TSpeedButton;

SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton;

StringGrid2: TStringGrid; Label16: TLabel; Label17: TLabel; Label18: TLabel;

Label19: TLabel; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton;

Label20: TLabel; procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton9Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure SpeedButton7Click(Sender: TObject);

procedure SpeedButton10Click(Sender: TObject);

procedure SpeedButton11Click(Sender: TObject);

procedure SpeedButton12Click(Sender: TObject);

procedure SpeedButton8Click(Sender: TObject);

procedure SpeedButton13Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure SpeedButton14Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form8: TForm8; p:integer; n,Path,one,two,tri,minv,minh,maxv,maxh:string;

plos,res:real; l,h,impost,pay,stol,e,dob:integer; start:Boolean;

Razpod,Markp,Podsen,So9,Lam,SOB,Ton,Maskit:string;

implementation

uses Unit15, Unit17, Unit18, Unit19, Unit20, Unit9, Unit14;

{$R *.dfm}

procedure TForm8.SpeedButton1Click(Sender: TObject);

begin

WinExec(‘c:/windows/system32/calc.exe’,SW_showNormal);

end;

procedure TForm8.SpeedButton2Click(Sender: TObject);

var f: Integer;

begin

if StringGrid2.Cells[4,1]<>» then

ton:=’Тонировка:’+ton;

if StringGrid2.Cells[0,1]<>» then

SOB:=’Общая площадь:’+StringGrid2.Cells[0,1];

if StringGrid2.Cells[6,1]<>» then

itog:=StringGrid2.Cells[6,1]+’у.е.’;

if StringGrid2.Cells[3,1]=’да’ then

So9:=’Профиль SO9 Учтен’;

if StringGrid2.Cells[1,1]<>» then

mon:=StringGrid2.Cells[1,1];

if StringGrid2.Cells[5,1]<>» then

Lam:=’Ламинирование:’+StringGrid2.Cells[5,1];

for f := 0 to ComponentCount — 1 do begin

if (Components[f] is TSpinEdit) then

(Components[f] as TSpinEdit).Value :=0;

Stringgrid1.Cols[0].Clear; Stringgrid1.Cols[1].Clear;

Stringgrid1.Cols[2].Clear; Stringgrid1.Cols[3].Clear;

Stringgrid2.Rows[1].Clear;SpeedButton5.Visible:=false;

SpeedButton6.Visible:=False;SpeedButton7.Visible:=false;

SpeedButton10.Visible:=false;SpeedButton11.Visible:=false;

SpeedButton14.Visible:=false;SpeedButton8.Visible:=false; end;close;end;

procedure TForm8.SpeedButton9Click(Sender: TObject);

label 1,2,3,4,5,6;

Var i,b:integer;nam1:string;f,dop:textfile;

begin b:=1;

SpeedButton3.Visible:=true;SpeedButton9.Visible:=false;

{$I-}

AssignFile(f,dir+put);

{$I+}

If IOResult=0 then begin

Reset(f);

while not EoF(f) do begin

readln(f, one);

readln(f, two);

readln(f, tri); end;CloseFile(f); end;

nam1:=nam;delete(nam1,1,1);nam1:=nam1+’#’;

for i:=1 to length(nam1) do begin

if nam1[i]<>’#’then n:=n+nam1[i]

else begin if n=’Глухой’ then begin

Label4.Caption:=’Глухой’;

pay:=strtoint(one);

if odn=’1′ then

pay:=pay-6;

impost:=impost+1;

{$I-}

AssignFile(dop,dir+’Технические допускиГлухой модуль.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

1:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if (plos<=0.5) then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Глухой’;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 1;

end;

if n=’Поворотный’ then begin

Label4.Caption:=’Поворотный’;

pay:=strtoint(two);

if odn=’1′ then

pay:=pay-6;

{$I-}

AssignFile(dop,dir+’Технические допускиПоворотный модуль.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

2:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if plos<=0.5 then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Поворотный’;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 2; end;

if n=’Откидной’ then begin

Label4.Caption:=’Откидной’;

pay:=strtoint(tri);

if odn=’1′ then

pay:=pay-6;

{$I-}

AssignFile(dop,dir+’Технические допускиПоворотно-откидной.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

3:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if plos<=0.5 then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Откидной’;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 3; end;

if n=’балкон1′ then begin

Label4.Caption:=’Балконная-поворотная дверь‘;

pay:=strtoint(one);

if odn=’1′ then

pay:=pay-6;

{$I-}

AssignFile(dop,dir+’Технические допускиБалконная поворотная.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

4:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if plos<=0.5 then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Балкон. поворотная’;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 4;

end;

if n=’Балкон2′ then begin

Label4.Caption:=’Балконная-поворотно-откидная дверь‘;

pay:=strtoint(two);

if odn=’1′ then

pay:=pay-6;

{$I-}

AssignFile(dop,dir+’Технические допускиПоворотно-откидная.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

5:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if plos<=0.5 then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Балкон. поворот-откид’;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 5; end;

if n=’Вход’ then begin

Label4.Caption:=’Входная дверь‘;

pay:=strtoint(tri);

if odn=’1′ then

pay:=pay-6;

{$I-}

AssignFile(dop,dir+’Технические допускиВходная дверь.dat’);

{$I+}

If IOResult=0 then begin

Reset(dop);

while not EoF(dop) do begin

readln(dop, minv);

readln(dop, minh);

readln(dop, maxv);

readln(dop, maxh); end; CloseFile(dop); end;

SpinEdit1.MinValue:=strtoint(minh);

SpinEdit1.MaxValue:=strtoint(maxh);

SpinEdit2.MinValue:=strtoint(minv);

SpinEdit2.MaxValue:=strtoint(maxv);

SpinEdit1.Value:=strtoint(minh);

SpinEdit2.Value:=strtoint(minv);

ShowMessage(‘Введите размеры и нажмите «ОК»‘);

6:application.ProcessMessages;

if start=true then begin l:=spinedit1.Value;

h:=spinedit2.Value;

plos:=(l*h)*0.000001;

if plos<=0.5 then

res:=(plos*pay)+((plos*pay)/100)*30

else res:=plos*pay;

if StringGrid1.RowCount<b then StringGrid1.RowCount:=b+1;

StringGrid1.Cells[0,b]:=’Входная дверь‘;

StringGrid1.Cells[1,b]:=floattostr(plos);

StringGrid1.Cells[2,b]:=floattostr(res);

b:=b+1;

start:=false;SpinEdit1.Value:=0;

SpinEdit2.Value:=0; end else goto 6;

end;n:=»;end;end;dob:=b;

ShowMessage(‘Расчет цены завершен!!!’);

SpeedButton3.Visible:=false;SpeedButton9.Visible:=true;

SpeedButton2.Visible:=True;SpeedButton12.Visible:=True;end;

procedure TForm8.SpeedButton3Click(Sender: TObject);

begin start:=true; end;

procedure TForm8.FormCreate(Sender: TObject);

begin e:=0;

start:=false;

StringGrid2.Cells[0,0]:=’Площадь’;StringGrid2.Cells[1,0]:=’установка‘;

StringGrid2.Cells[2,0]:=’Подоконник’;StringGrid2.Cells[3,0]:=’Профиль SO9′;

StringGrid2.Cells[4,0]:=’Тонировка’;StringGrid2.Cells[5,0]:=’Ламин.’;

StringGrid2.Cells[6,0]:=’Результат’;end;

procedure TForm8.StringGrid1SelectCell(Sender: TObject; ACol,

ARow: Integer; var CanSelect: Boolean);

begin

Label14.Caption :=StringGrid1.Cells [0, ARow];

stol:=Arow;end;

procedure TForm8.SpeedButton4Click(Sender: TObject);

Var sen,sen1:real;

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;

procedure TForm8.SpeedButton5Click(Sender: TObject);

begin

if Form8.StringGrid2.Cells [5,1]=» then

form15.Showmodal else

Showmessage(‘Окно можно ламинировать лишь один раз!’);end;

procedure TForm8.SpeedButton6Click(Sender: TObject);

begin

if Form8.StringGrid2.Cells[4,1]=» then

form17.Show else

Showmessage(‘Окно можно тонировать лишь один раз!’);end;

procedure TForm8.SpeedButton7Click(Sender: TObject);

begin

if Form8.StringGrid2.Cells[2,1]=’да’ then

Showmessage(‘На окно можно ставить лишь один подоконник!’)

else Form18.Showmodal;end;

procedure TForm8.SpeedButton10Click(Sender: TObject);

begin

if Form8.StringGrid2.Cells [3,1]<>’да’ then

form19.Showmodal

else Showmessage(‘На этом окне профиль уже учтён!’);end;

procedure TForm8.SpeedButton11Click(Sender: TObject);

begin

if impost>=2 then begin e:=e+1;

if e<=(impost-1) then

form20.Showmodal

else showmessage(‘Превышено допустимое число!’);end

else showmessage(‘Импост считается лишь меж 2-мя глухими модулями!’);

end;

procedure TForm8.SpeedButton12Click(Sender: TObject);

Var i:integer;p2,s:real;beginp2:=0;s:=0;

for i:=1 to dob do

if StringGrid1.Cells[1,i]<>» then

p2:=p2+Strtofloat(StringGrid1.Cells[1,i]);

StringGrid2.Cells[0,1]:=Floattostr(p2);

for i:=1 to dob do

if StringGrid1.Cells[2,i]<>» then

s:=s+strtofloat(StringGrid1.Cells[2,i]);

if impost=1 then

s:=s+p2*7;

StringGrid2.Cells[6,1]:=floattostr(s);

SpeedButton12.Visible:=false;SpeedButton5.Visible:=true;

SpeedButton6.Visible:=true;SpeedButton7.Visible:=true;

SpeedButton10.Visible:=true;SpeedButton11.Visible:=true;

SpeedButton14.Visible:=true;SpeedButton8.Visible:=true;end;

procedure TForm8.SpeedButton8Click(Sender: TObject);

Var pl,sen:real;

begin

if StringGrid2.Cells [1,1]<>’да’ then

begin

pl:=strtofloat(StringGrid2.Cells [6,1]);

sen:=(pl/100)*12;

sen:=sen+pl;

StringGrid2.Cells [6,1]:=floattostr(sen);

StringGrid2.Cells [1,1]:=’да’;

ShowMessage(‘Расчет закончен!’);end

else Showmessage(‘На этом окне установка уже расчитан!’) end;

procedure TForm8.SpeedButton13Click(Sender: TObject);

begin

if StringGrid2.Cells[6,1]<>» then

Form9.Edit5.Text:=StringGrid2.Cells[6,1];

form9.Show;end;

procedure TForm8.FormShow(Sender: TObject);

begin

SpeedButton3.Visible:=false;

SpeedButton9.Visible:=true;

StringGrid1.Cells[0,0]:=’Модули’;

StringGrid1.Cells[1,0]:=’Площадь’;

StringGrid1.Cells[2,0]:=’Стоимость’;

StringGrid1.Cells[3,0]:=’Москитка’;end;

procedure TForm8.SpeedButton14Click(Sender: TObject);

begin form14.show;end;end.

unit Unit9;

interface

uses

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

Dialogs, StdCtrls, Mask, Buttons, jpeg, ExtCtrls;

type

TForm9 = class(TForm)

Image1: TImage; Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;

Label5: TLabel; Label6: TLabel;RadioButton1: TRadioButton;

RadioButton2: TRadioButton;RadioButton3: TRadioButton;

SpeedButton1: TSpeedButton;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;Edit4: TEdit;

Edit5: TEdit; procedure SpeedButton1Click(Sender: TObject);

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

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

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

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

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

private

{ Private declarations }

public

{ Public declarations }

end;

var Form9: TForm9;

implementation

{$R *.dfm}

procedure TForm9.SpeedButton1Click(Sender: TObject);

Var evro,dol,rub:real;kursE,kursD:real;

begin

kursD:=0;kursE:=0;evro:=0;dol:=0;rub:=0;

If RadioButton1.Checked=True then begin

kursD:=Strtofloat(Edit2.Text);

dol:=Strtofloat(Edit4.Text);

Edit3.Text:=floattoStr(dol*kursD);end;

If RadioButton2.Checked=True then begin

kursE:=Strtofloat(Edit1.Text);

evro:=Strtofloat(Edit5.Text);

Edit3.Text:=floattoStr(evro*kursE);end;

If RadioButton3.Checked=True then begin

kursE:=Strtofloat(Edit1.Text);

kursD:=Strtofloat(Edit2.Text);

evro:=Strtofloat(Edit5.Text);

Edit4.Text:=floattoStr((evro*kursE)/kursD);end;end;

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

var vrPos, vrLength, vrSelStart: byte;

const I: byte = 1;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrPos := Pos(‘,’, Text);

vrSelStart := SelStart; end;

case Key of ‘0’..’9′:

begin

if (vrPos > 0) and (vrLength — vrPos > I) and (vrSelStart >= vrPos) then

Key := #0;

end; ‘,’, ‘.’:

begin

if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then

Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;

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

var vrPos, vrLength, vrSelStart: byte;

const I: byte = 1;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrPos := Pos(‘,’, Text);

vrSelStart := SelStart; end;

case Key of ‘0’..’9′:

begin

if (vrPos > 0) and (vrLength — vrPos > I) and (vrSelStart >= vrPos) then

Key := #0; end; ‘,’, ‘.’:

begin

if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then

Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;

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

var vrPos, vrLength, vrSelStart: byte;

const I: byte = 1;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrPos := Pos(‘,’, Text);

vrSelStart := SelStart; end;

case Key of ‘0’..’9′:

begin

if (vrPos > 0) and (vrLength — vrPos > I) and (vrSelStart >= vrPos) then

Key := #0; end; ‘,’, ‘.’:

begin

if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then Key := #0

else Key := #44; end; #8: ; else Key := #0; end;end;

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

var vrPos, vrLength, vrSelStart: byte;

const I: byte = 1;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrPos := Pos(‘,’, Text);

vrSelStart := SelStart; end;

case Key of ‘0’..’9′:

begin

if (vrPos > 0) and (vrLength — vrPos > I) and (vrSelStart >= vrPos) then

Key := #0; end; ‘,’, ‘.’:

begin

if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then

Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;

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

var vrPos, vrLength, vrSelStart: byte;

const I: byte = 1;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrPos := Pos(‘,’, Text);

vrSelStart := SelStart; end;

case Key of ‘0’..’9′:

begin

if (vrPos > 0) and (vrLength — vrPos > I) and (vrSelStart >= vrPos) then

Key := #0; end; ‘,’, ‘.’:

begin

if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then

Key := #0 else Key := #44; end; #8: ; else Key := #0; end;end;end.

unit Unit10;

interface

uses

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

Dialogs, QRCtrls, QuickRpt, ExtCtrls, StdCtrls, QRPrntr, ImgList, Buttons,

RpBase, RpSystem, RpDefine, RpRave;

type

TForm10 = class(TForm)

QuickRep1: TQuickRep; QRSubDetail1: TQRSubDetail; QRLabel5: TQRLabel;

QRRichText1: TQRRichText; QRLabel1: TQRLabel; QRLabel2: TQRLabel;

QRLabel3: TQRLabel; QRImage1: TQRImage; QRImage2: TQRImage;

QRImage3: TQRImage; QRImage4: TQRImage; QRImage5: TQRImage;

QRImage6: TQRImage; Image1: TImage; SpeedButton2: TSpeedButton;

SpeedButton1: TSpeedButton; procedure FormCreate(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form10: TForm10; nzak:integer;

implementation

uses Unit1,unit7;

{$R *.dfm}

procedure TForm10.FormCreate(Sender: TObject);

begin QrrichText1.ParentRichEdit:=Form1.RichEdit1; end;

procedure TForm10.SpeedButton1Click(Sender: TObject);

Var h:integer;f:textfile;s:string;dlg:Word;

begin

AssignFile(f,dir+’nzak.txt’);

Reset(f);

Read(f,s);

nzak:=StrToInt(s);

nzak:=nzak+1;

s := IntToStr(nzak);

CloseFile(f);

rewrite(f);

write(f,s);

closefile(f);

Form1.RichEdit1.Lines.SaveToFile(dir+’БД’+fiozak+'(№’+inttostr(nzak)+’)’+’.rtf’);

dlg:=MessageDlg(‘Вы желаете сохранить заказ?’,mtConfirmation,mbYesNoCancel,0);

if dlg = mrYes then

QuickRep1.PrintBackground else

for h:=1 to 6 do

image1.Picture.SaveToFile(dir+’temp’+inttostr(h)+’.bmp’);

Form1.RichEdit1.Lines.Clear;Close;end;

procedure TForm10.SpeedButton2Click(Sender: TObject);

begin

QuickRep1.Preview;end;end.

unit Unit11;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls;

type

TForm11 = class(TForm)

Image1: TImage; SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton;

Label1: TLabel; SpinEdit1: TSpinEdit; procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form11: TForm11;

implementation

uses Unit16,Unit1;

{$R *.dfm}

procedure TForm11.SpeedButton1Click(Sender: TObject);

begin close; end;

procedure TForm11.SpeedButton2Click(Sender: TObject);

begin

kolok:=SpinEdit1.Value;

form16.show;

SpinEdit1.Value:=1;close;end;end.

unit Unit12;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, Mask, ComCtrls, Grids, jpeg, ExtCtrls,ShellAPI,Unit1;

type

TForm12 = class(TForm)

GroupBox2: TGroupBox;Label1: TLabel;Image1: TImage;

SpeedButton4: TSpeedButton; RichEdit1: TRichEdit; SpeedButton2: TSpeedButton;

SpeedButton1: TSpeedButton; SpeedButton5: TSpeedButton;ListBox1: TListBox;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure ListBox1Enter(Sender: TObject);

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

procedure FormShow(Sender: TObject);

private

FPrefix: array[0..255] of char;

{ Private declarations }

public

{ Public declarations }

end;

var Form12: TForm12; Count:integer;

implementation

{$R *.dfm}

procedure TForm12.SpeedButton1Click(Sender: TObject);

begin close; end;

procedure TForm12.SpeedButton4Click(Sender: TObject);

begin

richedit1.Lines.LoadFromFile(dir+’БД’+listbox1.Items.Strings[listbox1.ItemIndex]);

end;

procedure TForm12.SpeedButton5Click(Sender: TObject);

begin

RichEdit1.Print(‘Распечатка заказа’);

end;

procedure TForm12.ListBox1Enter(Sender: TObject);

begin

FPrefix[0] := #0;

Label1.Caption := StrPas(FPrefix);

end;

procedure TForm12.FormKeyPress(Sender: TObject; var Key: Char);

Var curKey: array[0..1] of char;

ndx: integer;

begin

if ActiveControl = ListBox1 then begin

if key = #8 {Backspace (кнопка возврата)} then begin

if FPrefix[0] <> #0 then begin

FPrefix[StrLen(FPrefix) — 1] := #0;end end else begin

curKey[0] := Key;

curKey[1] := #0;

StrCat(FPrefix, curKey);

ndx := SendMessage(ListBox1.Handle, LB_FINDSTRING,

-1, longint(@FPrefix));

if ndx <> LB_ERR then

ListBox1.ItemIndex := ndx;end;

Label1.Caption := StrPas(FPrefix);

Key := #0;end;end;

procedure TForm12.FormShow(Sender: TObject);

var F: TSearchRec; Path: string; Attr: Integer;

begin

Path := dir+’БД*.rtf’;

Attr := faAnyFile;

FindFirst(Path, Attr, F);

if F.name <> » then

begin

ListBox1.Items.Add(F.name); {Добавление в TListBox имени отысканного файла}

while FindNext(F) = 0 do

ListBox1.Items.Add(F.name); end; FindClose(F);end;end.

unit Unit13;

interface

uses

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

Dialogs, Grids, StdCtrls, Buttons, unit1,jpeg, ExtCtrls;

type

TForm13 = class(TForm)

Image1: TImage; SpeedButton3: TSpeedButton; SpeedButton2: TSpeedButton;

SpeedButton1: TSpeedButton; StringGrid1: TStringGrid;Label2: TLabel;Label3: TLabel;

Label1: TLabel; procedure FormCreate(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form13: TForm13;

implementation

{$R *.dfm}

procedure TForm13.FormCreate(Sender: TObject);

begin

Form13.StringGrid1.Cells[0,0]:=’Наименование’;

Form13.StringGrid1.Cells[0,1]:=’Глухой модуль’;

Form13.StringGrid1.Cells[0,2]:=’Поворотный модуль’;

Form13.StringGrid1.Cells[0,3]:=’Поворотно-откидной’;

Form13.StringGrid1.Cells[0,4]:=’Входная дверь‘;

Form13.StringGrid1.Cells[0,5]:=’Балконная поворотная’;

Form13.StringGrid1.Cells[0,6]:=’Поворотно-откидная ‘;

Form13.StringGrid1.Cells[1,0]:=’Высота(мм)’;

Form13.StringGrid1.Cells[2,0]:=’Ширина(мм)’;

Form13.StringGrid1.Cells[3,0]:=’Высота(мм)’;

Form13.StringGrid1.Cells[4,0]:=’Ширина(мм)’;end;

procedure TForm13.SpeedButton1Click(Sender: TObject);

begin

Form13.StringGrid1.Cells[1,1]:=inttostr(470);

Form13.StringGrid1.Cells[1,2]:=inttostr(520);

Form13.StringGrid1.Cells[1,3]:=inttostr(520);

Form13.StringGrid1.Cells[1,4]:=inttostr(1000);

Form13.StringGrid1.Cells[1,5]:=inttostr(410);

Form13.StringGrid1.Cells[1,6]:=inttostr(410);

Form13.StringGrid1.Cells[2,1]:=inttostr(400);

Form13.StringGrid1.Cells[2,2]:=inttostr(410);

Form13.StringGrid1.Cells[2,3]:=inttostr(410);

Form13.StringGrid1.Cells[2,4]:=inttostr(530);

Form13.StringGrid1.Cells[2,5]:=inttostr(410);

Form13.StringGrid1.Cells[2,6]:=inttostr(410);

Form13.StringGrid1.Cells[3,1]:=inttostr(2135);

Form13.StringGrid1.Cells[3,2]:=inttostr(2250);

Form13.StringGrid1.Cells[3,3]:=inttostr(2250);

Form13.StringGrid1.Cells[3,4]:=inttostr(2250);

Form13.StringGrid1.Cells[3,5]:=inttostr(2250);

Form13.StringGrid1.Cells[3,6]:=inttostr(2250);

Form13.StringGrid1.Cells[4,1]:=inttostr(2135);

Form13.StringGrid1.Cells[4,2]:=inttostr(800);

Form13.StringGrid1.Cells[4,3]:=inttostr(800);

Form13.StringGrid1.Cells[4,4]:=inttostr(990);

Form13.StringGrid1.Cells[4,5]:=inttostr(800);

Form13.StringGrid1.Cells[4,6]:=inttostr(800);end;

procedure TForm13.SpeedButton2Click(Sender: TObject);

Var s:string;f:textfile;

begin

{$I-}

AssignFile(f,dir+’Технические допуски’);

{$I+}

If IOResult=0 then begin

s:=dir+’Технические допуски’;

Rewrite(f,s+’Глухой модуль.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,1]);

Writeln(f,Form13.StringGrid1.Cells[2,1]);

Writeln(f,Form13.StringGrid1.Cells[3,1]);

Writeln(f,Form13.StringGrid1.Cells[4,1]);

CloseFile(f);

Rewrite(f,s+’Поворотный модуль.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,2]);

Writeln(f,Form13.StringGrid1.Cells[2,2]);

Writeln(f,Form13.StringGrid1.Cells[3,2]);

Writeln(f,Form13.StringGrid1.Cells[4,2]);

CloseFile(f);

Rewrite(f,s+’Поворотно-откидной.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,3]);

Writeln(f,Form13.StringGrid1.Cells[2,3]);

Writeln(f,Form13.StringGrid1.Cells[3,3]);

Writeln(f,Form13.StringGrid1.Cells[4,3]);

CloseFile(f);

Rewrite(f,s+’Входная дверь.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,4]);

Writeln(f,Form13.StringGrid1.Cells[2,4]);

Writeln(f,Form13.StringGrid1.Cells[3,4]);

Writeln(f,Form13.StringGrid1.Cells[4,4]);

CloseFile(f);

Rewrite(f,s+’Балконная поворотная.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,5]);

Writeln(f,Form13.StringGrid1.Cells[2,5]);

Writeln(f,Form13.StringGrid1.Cells[3,5]);

Writeln(f,Form13.StringGrid1.Cells[4,5]);

CloseFile(f);

Rewrite(f,s+’Поворотно-откидная.dat’);

Writeln(f,Form13.StringGrid1.Cells[1,6]);

Writeln(f,Form13.StringGrid1.Cells[2,6]);

Writeln(f,Form13.StringGrid1.Cells[3,6]);

Writeln(f,Form13.StringGrid1.Cells[4,6]);

CloseFile(f); ShowMessage(‘Данные сохранены удачно!’);end

else Exit; end;

procedure TForm13.SpeedButton3Click(Sender: TObject);

begin close; end; end.

unit Unit14;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls;

type

TForm14 = class(TForm)

Image1: TImage; Label20: TLabel; SpinEdit1: TSpinEdit; Label1: TLabel;

SpeedButton14: TSpeedButton;

private

{ Private declarations }

public

{ Public declarations }

end;

var Form14: TForm14;

implementation

{$R *.dfm}

end.

unit Unit15;

interface

uses

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

Dialogs, Buttons, StdCtrls, jpeg, ExtCtrls;

type

TForm15 = class(TForm)

Image1: TImage; RadioButton1: TRadioButton; RadioButton2: TRadioButton;

SpeedButton8: TSpeedButton; procedure SpeedButton8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form15: TForm15;

implementation

uses Unit8;

{$R *.dfm}

procedure TForm15.SpeedButton8Click(Sender: TObject);

Var sum,t:real;

begin

if Form8.StringGrid2.Cells [5,1]=» then begin

If RadioButton1.Checked=true then begin

t:=strtofloat(Form8.StringGrid2.Cells [6,1]);

sum:=t+((t/100)*30);

Form8.StringGrid2.Cells [6,1]:=floattostr(sum);

Form8.StringGrid2.Cells [5,1]:=’одна сторона’;

Close; end;

If RadioButton2.Checked=true then begin

t:=strtofloat(Form8.StringGrid2.Cells [6,1]);

sum:=t+((t/100)*40);

Form8.StringGrid2.Cells [6,1]:=floattostr(sum);

Form8.StringGrid2.Cells [5,1]:=’Две стороны‘; Close;end;end;end;end.

unit Unit16;

interface

uses

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

Dialogs, StdCtrls, Buttons, unit1,Mask,ExtCtrls, jpeg, ComCtrls;

type

TForm16 = class(TForm)

Image1: TImage; Label1: TLabel;Edit1: TEdit;Edit2: TEdit;Label2: TLabel;

Label3: TLabel; Memo1: TMemo; Label6: TLabel; SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton; DateTimePicker1: TDateTimePicker;

MaskEdit2: TMaskEdit; MaskEdit3: TMaskEdit; Label8: TLabel; Label7: TLabel;

Label10: TLabel; Memo4: TMemo; Label4: TLabel;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

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

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

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form16: TForm16;

implementation

uses Unit10, Unit7;

{$R *.dfm}

procedure TForm16.SpeedButton2Click(Sender: TObject);

Var f: Integer;

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;

adres:=Memo1.Text;

got:=Memo4.Text;

data:=datetostr(DateTimePicker1.Date);

domtel:=MaskEdit3.Text;

sottel:=MaskEdit2.Text;

for f := 0 to ComponentCount — 1 do begin

if (Components[f] is TEdit) then

(Components[f] as TEdit).Text:=»;

if (Components[f] is TMemo) then

(Components[f] as TMemo).Text:=»;

if (Components[f] is TMaskEdit) then

(Components[f] as TMaskEdit).Text:=»;

form7.Show; Close; end;end;end;

procedure TForm16.SpeedButton1Click(Sender: TObject);

begin Close; end;

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

var vrLength, vrSelStart: byte;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrSelStart := SelStart; end;

case Key of ‘А’..’Я’:begin end;

‘а’..’я’:begin end;

#8:begin end;

#32:begin end;

#46:

else Key := #0;end;end;

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

var vrLength, vrSelStart: byte;

begin

with Sender as TEdit do

begin

vrLength := Length(Text);

vrSelStart := SelStart; end;

case Key of ‘А’..’Я’:begin end;

‘а’..’я’:begin end;

#8:begin end;

#32:begin end;

#46: else Key := #0; end;end;

procedure TForm16.FormCreate(Sender: TObject);

begin datetimepicker1.Date:=Date;end;end.

unit Unit17;

interface

uses

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

Dialogs, Buttons, StdCtrls, jpeg,unit1, ExtCtrls,unit8;

type

TForm17 = class(TForm)

Image1: TImage; SpeedButton8: TSpeedButton; SpeedButton1: TSpeedButton;

ComboBox1: TComboBox; ComboBox2: TComboBox; ComboBox3: TComboBox;

RadioButton1: TRadioButton; RadioButton2: TRadioButton;

RadioButton3: TRadioButton; procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure SpeedButton8Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure ComboBox3Change(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var plo,zen:real; Form17: TForm17; senton:string; t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12

,t13,h1,h2,h3,h4,h5,h6,h7,h8,r1,r2,r3,r4:string;

implementation

uses Unit22;

{$R *.dfm}

procedure TForm17.RadioButton1Click(Sender: TObject);

Var f:textfile;

begin

if RadioButton1.Checked=True then begin

ComboBox1.Enabled:=True;

ComboBox2.Enabled:=False;

ComboBox3.Enabled:=False;

{$I-}

AssignFile(f,dir+’ЦеныТонировкаProf.dat’);

{$I+}

If IOResult=0 then begin

Reset(f);

while not EoF(f) do begin

readln(f,t1); readln(f,t2);

readln(f,t3); readln(f,t4);

readln(f,t5); readln(f,t6);

readln(f,t7); readln(f,t8);

readln(f,t9); readln(f,t10);

readln(f,t11); readln(f,t12);

readln(f,t13); end end

else begin Exit; Showmessage(‘Ошибка чтения файла цены’);

CloseFile(f); end;end;end;

procedure TForm17.RadioButton2Click(Sender: TObject);

Var f:textfile;

begin

if RadioButton2.Checked=True then begin

ComboBox1.Enabled:=False;

ComboBox2.Enabled:=True;

ComboBox3.Enabled:=False;

{$I-}

AssignFile(f,dir+’ЦеныТонировкаDekor.dat’);

{$I+}

If IOResult=0 then begin

Reset(f);

while not EoF(f) do begin

readln(f,r1); readln(f,r2);

readln(f,r3); readln(f,r4); end end

else begin Exit; Showmessage(‘Ошибка чтения файла цены’);

CloseFile(f); end;end;end;

procedure TForm17.RadioButton3Click(Sender: TObject);

Var f:textfile;

begin

if RadioButton3.Checked=True then begin

ComboBox1.Enabled:=False;

ComboBox2.Enabled:=False;

ComboBox3.Enabled:=True;

{$I-}

AssignFile(f,dir+’ЦеныТонировкаUdar.dat’);

{$I+}

If IOResult=0 then begin

Reset(f);

while not EoF(f) do begin

readln(f,h1); readln(f,h2);

readln(f,h3); readln(f,h4);

readln(f,h5); readln(f,h6);

readln(f,h7); readln(f,h8); end end

else begin Exit; Showmessage(‘Ошибка чтения файла цены’);

CloseFile(f); end;end;end;

procedure TForm17.SpeedButton8Click(Sender: TObject);

Var f: Integer;

begin

if Form8.StringGrid2.Cells[4,1]=» then begin

if (RadioButton1.Checked<>true)and(RadioButton2.Checked<>true)and

(RadioButton3.Checked<>true) then

Showmessage(‘Поначалу чего-нибудть необходимо избрать!’)

else

if (Combobox1.Text=»)and(Combobox2.Text=»)and

(Combobox3.Text=») then

Showmessage(‘Изберите определенный тип тонировки!’)

else begin

plo:=StrtoFloat(Form8.StringGrid2.Cells[0,1]);

zen:=strtofloat(Form8.StringGrid2.Cells[6,1])+(strtofloat(senton)*plo);

Form8.StringGrid2.Cells[6,1]:=floattostr(zen);

Form8.StringGrid2.Cells[4,1]:=ton;

for f := 0 to ComponentCount — 1 do

if (Components[f] is TCombobox) then

(Components[f] as TCombobox).Items.Clear;Close;end;

end else begin

Showmessage(‘Окно можно тонировать лишь один раз!’);

Close;end;end;

procedure TForm17.ComboBox1Change(Sender: TObject);

begin

if ComboBox1.Text=’R Silver 20′ then begin

ton:=ComboBox1.Text;

senton:=t1;end;

if ComboBox1.Text=’R Silver 35′ then begin

ton:=ComboBox1.Text;

senton:=t2; end;

if ComboBox1.Text=’R Silver 50′ then begin

ton:=ComboBox1.Text;

senton:=t3; end;

if ComboBox1.Text=’R Grey 10′ then begin

ton:=ComboBox1.Text;

senton:=t4; end;

if ComboBox1.Text=’R Blue 15′ then begin

ton:=ComboBox1.Text;

senton:=t5; end;

if ComboBox1.Text=’R Gold 15 ‘ then begin

ton:=ComboBox1.Text;

senton:=t6; end;

if ComboBox1.Text=’R Green 10′ then begin

ton:=ComboBox1.Text;

senton:=t7; end;

if ComboBox1.Text=’R Bronze 10′ then begin

ton:=ComboBox1.Text;

senton:=t8;end;

if ComboBox1.Text=’HP Natural 20 ‘ then begin

ton:=ComboBox1.Text;

senton:=t9;end;

if ComboBox1.Text=’HP Natural 35 ‘ then begin

ton:=ComboBox1.Text;

senton:=t10; end;

if ComboBox1.Text=’HP Bronze 35 ‘ then begin

ton:=ComboBox1.Text;

senton:=t11; end;

if ComboBox1.Text=’HP Blue 35 ‘ then begin

ton:=ComboBox1.Text;

senton:=t12; end;

if ComboBox1.Text=’HP Green 30 ‘ then begin

ton:=ComboBox1.Text;

senton:=t13;end;end;

procedure TForm17.ComboBox2Change(Sender: TObject);

begin

if ComboBox2.Text=’Matt White’ then begin

ton:=ComboBox2.Text;

senton:=r1;end;

if ComboBox2.Text=’Matt Bronze’ then begin

ton:=ComboBox2.Text;

senton:=r2;end;

if ComboBox2.Text=’Matt Silver’ then begin

ton:=ComboBox2.Text;

senton:=r3;end;

if ComboBox2.Text=’Black Out’ then begin

ton:=ComboBox2.Text;

senton:=r4;end;end;

procedure TForm17.ComboBox3Change(Sender: TObject);

begin

if ComboBox3.Text=’100 MIC Silver 20′ then begin

ton:=ComboBox3.Text;

senton:=h1;end;

if ComboBox3.Text=’Safety 2 MIL’ then begin

ton:=ComboBox3.Text;

senton:=h2;end;

if ComboBox3.Text=’Safety 4 MIL’ then begin

ton:=ComboBox3.Text;

senton:=h3;end;

if ComboBox3.Text=’Safety 7 MIL’ then begin

ton:=ComboBox3.Text;

senton:=h4;end;

if ComboBox3.Text=’Класс защиты А1′ then begin

ton:=ComboBox3.Text;

senton:=h5;end;

if ComboBox3.Text=’Класс защиты А2′ then begin

ton:=ComboBox3.Text;

senton:=h6;end;

if ComboBox3.Text=’Класс защиты А3′ then begin

ton:=ComboBox3.Text;

senton:=h7;end;

if ComboBox3.Text=’Стекло 4мм’ then begin

ton:=ComboBox3.Text;

senton:=h8;end;end;

procedure TForm17.SpeedButton1Click(Sender: TObject);

begin form22.Show;end;end.

unit Unit18;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls,unit1,unit8;

type

TForm18 = class(TForm)

Image1: TImage; Label1: TLabel; Label2: TLabel; SpeedButton8: TSpeedButton;

RadioButton1: TRadioButton;RadioButton2: TRadioButton;ComboBox1: TComboBox;

SpinEdit1: TSpinEdit; CheckBox1: TCheckBox;

procedure SpeedButton8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form18: TForm18;

h100,h150,h200,h250,h300,h350,h400,h450,h500,h600,h700,h800:string;

implementation

{$R *.dfm}

procedure TForm18.SpeedButton8Click(Sender: TObject);

Var f:textfile;k:integer;l,z:real;

begin l:=0; z:=0;

if Form8.StringGrid2.Cells[2,1]=’да’ then begin

Showmessage(‘На окно можно ставить лишь один подоконник!’);

Close; end else

if (RadioButton1.Checked<>true)and(RadioButton2.Checked<>true)

then Showmessage(‘Поначалу чего-нибудть необходимо избрать!’)

else

if (Combobox1.Text=»)or(SpinEdit1.Value<=0)then

Showmessage(‘Введите все нужные данные!’)

else begin

if RadioButton2.Checked=True then begin

markP:=’Ulьtra’;

{$I-}

AssignFile(f,dir+’ЦеныПодоконникиUltra.dat’);

{$I+}

If IOResult=0 then begin Reset(f);

while not EoF(f) do begin

readln(f,h100); readln(f,h150);

readln(f,h200); readln(f,h250);

readln(f,h300); readln(f,h350);

readln(f,h400); readln(f,h450);

readln(f,h500); readln(f,h600);

readln(f,h700); readln(f,h800); end;

if Combobox1.Text=’100′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h100);

podsen:=floattostr(l);

razpod:=’100’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’150′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h150);

podsen:=floattostr(l);

razpod:=’150’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’200′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h200);

podsen:=floattostr(l);

razpod:=’200’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’250′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h250);

podsen:=floattostr(l);

razpod:=’250’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’300′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h300);

podsen:=floattostr(l);

razpod:=’300’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’350′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h350);

podsen:=floattostr(l);

razpod:=’350’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’400′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h400);

podsen:=floattostr(l);

razpod:=’400’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’450′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h450);

podsen:=floattostr(l);

razpod:=’450’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’500′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h500);

podsen:=floattostr(l);

razpod:=’500’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’600′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h600);

podsen:=floattostr(l);

razpod:=’600’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’700′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h700);

podsen:=floattostr(l);

razpod:=’700’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’800′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h800);

podsen:=floattostr(l);

razpod:=’800’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

end else begin Exit;

Showmessage(‘Ошибка чтения файла цены’); end; CloseFile(f); Close; end;

if RadioButton1.Checked=True then begin

markP:=’Moller’;

{$I-}

AssignFile(f,dir+’ЦеныПодоконникиMoller.dat’);

{$I+}

If IOResult=0 then begin

Reset(f);

while not EoF(f) do begin

readln(f,h150); readln(f,h200);

readln(f,h250); readln(f,h300);

readln(f,h350); readln(f,h400);

readln(f,h450); readln(f,h500);

readln(f,h600); end;

if (Combobox1.Text=’100′)or(Combobox1.Text=’700′)or(Combobox1.Text=’800′) then

Showmessage(‘Такового размера нет, изберите иной!’)

else begin

if Combobox1.Text=’150′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h150);

podsen:=floattostr(l);

razpod:=’150’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’200′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h200);

podsen:=floattostr(l);

razpod:=’200’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’250′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h250);

podsen:=floattostr(l);

razpod:=’250’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[0,6]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’300′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h300);

podsen:=floattostr(l);

razpod:=’300’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’350′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h350);

podsen:=floattostr(l);

razpod:=’350’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’400′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h400);

podsen:=floattostr(l);

razpod:=’400’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’450′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h450);

podsen:=floattostr(l);

razpod:=’450’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’500′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h500);

podsen:=floattostr(l);

razpod:=’500’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end;

if Combobox1.Text=’600′ then begin

l:=(SpinEdit1.Value*0.001)*strtofloat(h600);

podsen:=floattostr(l);

razpod:=’600’+’x’+inttostr(SpinEdit1.Value);

if CheckBox1.Checked=true then l:=l+2.1;

z:=strtofloat(Form8.StringGrid2.Cells[6,1])+l;

Form8.StringGrid2.Cells[6,1]:=floattostr(z);

Form8.StringGrid2.Cells[2,1]:=’да’; end; Close

end; end else begin Exit; Showmessage(‘Ошибка чтения файла цены’); end;

CloseFile(f); end;end;end;end.

unit Unit19;

interface

uses

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

Dialogs, Buttons, StdCtrls,unit8, Spin, jpeg, ExtCtrls;

type

TForm19 = class(TForm)

Image1: TImage; Label13: TLabel;SpinEdit1: TSpinEdit; SpeedButton8: TSpeedButton;

Label1: TLabel; procedure SpeedButton8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end;

var Form19: TForm19;

implementation

{$R *.dfm}

procedure TForm19.SpeedButton8Click(Sender: TObject);

Var pl,sum:real;k:integer;

begin

if Form8.StringGrid2.Cells [3,1]<>’да’ then

begin

pl:=strtofloat(Form8.StringGrid2.Cells [6,1]);

sum:=SpinEdit1.Value*0.003;

sum:=pl+sum;

Form8.StringGrid2.Cells [6,1]:=floattostr(sum);

Form8.StringGrid2.Cells [3,1]:=’да’;

Close;endelse Showmessage(‘На этом окне профиль уже учтён!’)end;end.

unit Unit20;

interface

uses

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

Dialogs, Buttons, StdCtrls, Spin, jpeg, ExtCtrls;

type

TForm20 = class(TForm)

Image1: TImage; Label13: TLabel; SpinEdit1: TSpinEdit; Label1: TLabel;

SpeedButton8: TSpeedButton; procedure SpeedButton8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end;

var Form20: TForm20;

implementation

uses Unit8;

{$R *.dfm}

procedure TForm20.SpeedButton8Click(Sender: TObject);

Var pl,sum:real;k:integer;

begin

pl:=strtofloat(Form8.StringGrid2.Cells [6,1]);

sum:=SpinEdit1.Value*0.025;

sum:=pl+sum;

Form8.StringGrid2.Cells [6,1]:=floattostr(sum);

if (Components[k] is TSpinEdit) then

(Components[k] as TSpinEdit).Value:=0;Close end; end.

unit Unit21;

interface

uses

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

Dialogs, Grids, Buttons, jpeg, unit1, ExtCtrls;

type

TForm21 = class(TForm)

StringGrid3: TStringGrid; Image1: TImage; SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton; procedure FormCreate(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end;

var Form21: TForm21;

implementation

{$R *.dfm}

procedure TForm21.FormCreate(Sender: TObject);

begin

StringGrid3.Cells[0,0]:=’Ширина’;

StringGrid3.Cells[1,0]:=’Moller(Германия)’;

StringGrid3.Cells[2,0]:=’Ulьtra(Ростов на дону)’;

StringGrid3.Cells[0,1]:=’100′;StringGrid3.Cells[0,2]:=’150′;

StringGrid3.Cells[0,3]:=’200′;StringGrid3.Cells[0,4]:=’250′;

StringGrid3.Cells[0,5]:=’300′;StringGrid3.Cells[0,6]:=’350′;

StringGrid3.Cells[0,7]:=’400′;StringGrid3.Cells[0,8]:=’450′;

StringGrid3.Cells[0,9]:=’500′;StringGrid3.Cells[0,10]:=’600′;

StringGrid3.Cells[0,11]:=’700′;StringGrid3.Cells[0,12]:=’800′;

StringGrid3.Cells[1,2]:=’10,6′;StringGrid3.Cells[1,3]:=’12,1′;

StringGrid3.Cells[1,4]:=’14,5′;StringGrid3.Cells[1,5]:=’16,8′;

StringGrid3.Cells[1,6]:=’19,7′;StringGrid3.Cells[1,7]:=’22,4′;

StringGrid3.Cells[1,8]:=’25,4′;StringGrid3.Cells[1,9]:=’31,9′;

StringGrid3.Cells[1,10]:=’35,9′;StringGrid3.Cells[2,1]:=’3,8′;

StringGrid3.Cells[2,2]:=’5,7′;StringGrid3.Cells[2,3]:=’7,6′;

StringGrid3.Cells[2,4]:=’9,5′;StringGrid3.Cells[2,5]:=’11,5′;

StringGrid3.Cells[2,6]:=’13,4′;StringGrid3.Cells[2,7]:=’15,3′;

StringGrid3.Cells[2,8]:=’17,2′;StringGrid3.Cells[2,9]:=’19,1′;

StringGrid3.Cells[2,10]:=’21’;StringGrid3.Cells[2,11]:=’22,9′;

StringGrid3.Cells[2,12]:=’30,5′;end;

procedure TForm21.SpeedButton2Click(Sender: TObject);

Var s:string;f:textfile;

begin

{$I-}

AssignFile(f,dir+’ЦеныПодоконники’);

{$I+}

If IOResult=0 then

s:=dir+’ЦеныПодоконники’;

{$I-}

Rewrite(f,s+’Moller.dat’);

{$I+}

If IOResult=0 then begin

Writeln(f,StringGrid3.Cells[1,2]);Writeln(f,StringGrid3.Cells[1,3]);

Writeln(f,StringGrid3.Cells[1,4]);Writeln(f,StringGrid3.Cells[1,5]);

Writeln(f,StringGrid3.Cells[1,6]);Writeln(f,StringGrid3.Cells[1,7]);

Writeln(f,StringGrid3.Cells[1,8]);Writeln(f,StringGrid3.Cells[1,9]);

Writeln(f,StringGrid3.Cells[1,10]);CloseFile(f);

Rewrite(f,s+’Ultra.dat’);Writeln(f,StringGrid3.Cells[2,1]);

Writeln(f,StringGrid3.Cells[2,2]);Writeln(f,StringGrid3.Cells[2,3]);

Writeln(f,StringGrid3.Cells[2,4]);Writeln(f,StringGrid3.Cells[2,5]);

Writeln(f,StringGrid3.Cells[2,6]);Writeln(f,StringGrid3.Cells[2,7]);

Writeln(f,StringGrid3.Cells[2,8]);Writeln(f,StringGrid3.Cells[2,9]);

Writeln(f,StringGrid3.Cells[2,10]);Writeln(f,StringGrid3.Cells[2,11]);

Writeln(f,StringGrid3.Cells[2,12]);CloseFile(f);

ShowMessage(‘Данные сохранены удачно!’);end else begin

Exit;ShowMessage(‘Ошибка при зиписи в файл!’);end;end;

procedure TForm21.SpeedButton1Click(Sender: TObject);

begin Close;end;end.

unit Unit22;

interface

uses

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

Dialogs, StdCtrls, Grids, Buttons, jpeg,Unit1, ExtCtrls;

type

TForm22 = class(TForm)

Image1: TImage; StringGrid1: TStringGrid;Label1: TLabel; Label2: TLabel;

StringGrid2: TStringGrid;StringGrid3: TStringGrid; Label3: TLabel;

SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton;

procedure FormCreate(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end;

var Form22: TForm22;

implementation

uses Unit13;

{$R *.dfm}

procedure TForm22.FormCreate(Sender: TObject);

begin

StringGrid1.Cells[0,0]:=’Заглавие’;StringGrid1.Cells[1,0]:=’цвет‘;

StringGrid1.Cells[2,0]:=’Светопропуск’;StringGrid1.Cells[3,0]:=’Стоимость(1м.кв)’;

StringGrid1.Cells[0,1]:=’R Silver 20′;StringGrid1.Cells[0,2]:=’R Silver 35′;

StringGrid1.Cells[0,3]:=’R Silver 50′;StringGrid1.Cells[0,4]:=’R Grey 10′;

StringGrid1.Cells[0,5]:=’R Blue 15′;StringGrid1.Cells[0,6]:=’R Gold 15′;

StringGrid1.Cells[0,7]:=’R Green 10′;StringGrid1.Cells[0,8]:=’R Bronze 10′;

StringGrid1.Cells[0,9]:=’HP Natural 20′;StringGrid1.Cells[0,10]:=’HP Natural 35′;

StringGrid1.Cells[0,11]:=’HP Bronze 35′;StringGrid1.Cells[0,12]:=’HP Blue 35′;

StringGrid1.Cells[0,13]:=’HP Green 30′;StringGrid1.Cells[1,1]:=’Серебро’;

StringGrid1.Cells[1,2]:=’Серебро’;StringGrid1.Cells[1,3]:=’Серебро’;

StringGrid1.Cells[1,4]:=’Сероватый’;StringGrid1.Cells[1,5]:=’Голубой’;

StringGrid1.Cells[1,6]:=’Золото’;StringGrid1.Cells[1,7]:=’Зеленоватый’;

StringGrid1.Cells[1,8]:=’Бронза’;StringGrid1.Cells[1,9]:=’Нейтральный’;

StringGrid1.Cells[1,10]:=’Нейтральный’;StringGrid1.Cells[1,11]:=’Бронза’;

StringGrid1.Cells[1,12]:=’Голубой’;StringGrid1.Cells[1,13]:=’Зеленоватый’;

StringGrid1.Cells[2,1]:=’18’;StringGrid1.Cells[2,2]:=’28’;StringGrid1.Cells[2,3]:=’47’;

StringGrid1.Cells[2,4]:=’7′;StringGrid1.Cells[2,5]:=’15’;StringGrid1.Cells[2,6]:=’15’;

StringGrid1.Cells[2,7]:=’10’;StringGrid1.Cells[2,8]:=’8′;StringGrid1.Cells[2,9]:=’24’;

StringGrid1.Cells[2,10]:=’35’;StringGrid1.Cells[2,11]:=’37’;StringGrid1.Cells[2,12]:=’35’;

StringGrid1.Cells[2,13]:=’30’;StringGrid1.Cells[3,1]:=’14,3′;StringGrid1.Cells[3,2]:=’15,3′;

StringGrid1.Cells[3,3]:=’15,3′;StringGrid1.Cells[3,4]:=’15,3′;StringGrid1.Cells[3,5]:=’15,3′;

StringGrid1.Cells[3,6]:=’15,3′;StringGrid1.Cells[3,7]:=’15,3′;

StringGrid1.Cells[3,8]:=’15,3′;StringGrid1.Cells[3,9]:=’19,1′;

StringGrid1.Cells[3,10]:=’19,1′;StringGrid1.Cells[3,11]:=’19,1′;

StringGrid1.Cells[3,12]:=’19,1′;StringGrid1.Cells[3,13]:=’19,1′;

StringGrid2.Cells[0,0]:=’Заглавие’;StringGrid2.Cells[1,0]:=’цвет‘;

StringGrid2.Cells[2,0]:=’Светопропуск’;StringGrid2.Cells[3,0]:=’Стоимость(1м.кв)’;

StringGrid2.Cells[0,1]:=’Matt White’;StringGrid2.Cells[0,2]:=’Matt Bronze’;

StringGrid2.Cells[0,3]:=’Matt Silver’;StringGrid2.Cells[0,4]:=’Black Out’;

StringGrid2.Cells[1,1]:=’Белоснежный’;StringGrid2.Cells[1,2]:=’Бронза’;

StringGrid2.Cells[1,3]:=’Серебро’;StringGrid2.Cells[1,4]:=’Темный’;

StringGrid2.Cells[2,1]:=’69’;StringGrid2.Cells[2,2]:=’36’;

StringGrid2.Cells[2,3]:=’16’;StringGrid2.Cells[2,4]:=’0′;

StringGrid2.Cells[3,1]:=’15,3′;StringGrid2.Cells[3,2]:=’15,3′;

StringGrid2.Cells[3,3]:=’15,3′;StringGrid2.Cells[3,4]:=’17,5′;

StringGrid3.Cells[0,0]:=’Заглавие’;StringGrid3.Cells[1,0]:=’цвет‘;

StringGrid3.Cells[2,0]:=’Светопропуск’;StringGrid3.Cells[3,0]:=’Стоимость(1м.кв)’;

StringGrid3.Cells[0,1]:=’100MIC Silver 20′;StringGrid3.Cells[0,2]:=’Safety 2 MIL’;

StringGrid3.Cells[0,3]:=’Safety 4 MIL’;StringGrid3.Cells[0,4]:=’Safety 7 MIL’;

StringGrid3.Cells[0,5]:=’Класс защиты А1′;StringGrid3.Cells[0,6]:=’Класс защиты А2′;

StringGrid3.Cells[0,7]:=’Класс защиты А3′;StringGrid3.Cells[0,8]:=’Стекло 4мм’;

StringGrid3.Cells[1,1]:=’Серебро’;StringGrid3.Cells[1,2]:=’Прозрачная’;

StringGrid3.Cells[1,3]:=’Прозрачная’;StringGrid3.Cells[1,4]:=’Прозрачная’;

StringGrid3.Cells[1,8]:=’Бронза в массе’;StringGrid3.Cells[2,1]:=’20’;

StringGrid3.Cells[2,2]:=’98’;StringGrid3.Cells[2,3]:=’89’;

StringGrid3.Cells[2,4]:=’89’;StringGrid3.Cells[3,1]:=’32,3′;

StringGrid3.Cells[3,2]:=’24,9′;StringGrid3.Cells[3,3]:=’27’;

StringGrid3.Cells[3,4]:=’32,3′;StringGrid3.Cells[3,5]:=’39,7′;

StringGrid3.Cells[3,6]:=’52,9′;StringGrid3.Cells[3,7]:=’79,4′;

StringGrid3.Cells[3,8]:=’24,4′;end;

procedure TForm22.SpeedButton2Click(Sender: TObject);

Var s:string;f:textfile;begin{$I-}

AssignFile(f,dir+’ЦеныТонировка’);{$I+}

If IOResult=0 then s:=dir+’ЦеныТонировка’;{$I-}

Rewrite(f,s+’Prof.dat’); {$I+} If IOResult=0 then begin

Writeln(f,StringGrid1.Cells[3,1]);Writeln(f,StringGrid1.Cells[3,2]);

Writeln(f,StringGrid1.Cells[3,3]);Writeln(f,StringGrid1.Cells[3,4]);

Writeln(f,StringGrid1.Cells[3,5]);Writeln(f,StringGrid1.Cells[3,6]);

Writeln(f,StringGrid1.Cells[3,7]);Writeln(f,StringGrid1.Cells[3,8]);

Writeln(f,StringGrid1.Cells[3,9]);Writeln(f,StringGrid1.Cells[3,10]);

Writeln(f,StringGrid1.Cells[3,11]);Writeln(f,StringGrid1.Cells[3,12]);

Writeln(f,StringGrid1.Cells[3,13]);CloseFile(f);Rewrite(f,s+’Dekor.dat’);

Writeln(f,StringGrid2.Cells[3,1]);Writeln(f,StringGrid2.Cells[3,2]);

Writeln(f,StringGrid2.Cells[3,3]);Writeln(f,StringGrid2.Cells[3,4]);

CloseFile(f);Rewrite(f,s+’Udar.dat’);Writeln(f,StringGrid3.Cells[3,1]);

Writeln(f,StringGrid3.Cells[3,2]);Writeln(f,StringGrid3.Cells[3,3]);

Writeln(f,StringGrid3.Cells[3,4]);Writeln(f,StringGrid3.Cells[3,5]);

Writeln(f,StringGrid3.Cells[3,6]);Writeln(f,StringGrid3.Cells[3,7]);

Writeln(f,StringGrid3.Cells[3,8]);CloseFile(f);

ShowMessage(‘Данные сохранены удачно!’);end else beginExit;

ShowMessage(‘Ошибка при зиписи в файл!’);end;end;

procedure TForm22.SpeedButton1Click(Sender: TObject);

begin Close;end;end.

]]>