Разработка базы данных автозаправочной станции

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,42 Мб
  • Опубликовано:
    2016-01-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка базы данных автозаправочной станции

Содержание

 

Введение

1. Общая часть

1.1 Обзор языка элементов языка программирования Delphi

1.2 База данных Paradox

2. Специальная часть

2.1 Общая постановка задачи

2.2 Описание программы

2.2.1 Заполнение таблиц информацией

2.4 Описание набора данных

2.4.1 Входные данные

2.4.2 Выходные данные

3. Организация производства

3.1 Инструкция программисту и комплекс технических средств необходимых для решения задач

3.2 Инструкция пользователю

3.3 Инструкция программисту по работе с программой

4. Заключение

5. Список используемой литературы

6. Приложение

6.1 Графическая часть проекта

3. Таблицы

3.1 Таблица "КНПС, СИНОИЛ, КМГ,РОСНЕФТЬ”

3.1.1 Функции таблицы (редактировать, добавить)

3.2 Таблица "Водители автомобилей”

3.2.1 Функции таблицы (редактировать, добавить)

4. Описание программы

5. Об авторе

6.2 Блок схемы проекта

6.3 Листинг программы

 

Введение


В данном курсовом проекте рассматривается разработка базы данных АЗС.

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

·        Анализ предметной области;

·        Проектирование базы данных (БД);

·        Разработка приложения для взаимодействия с БД.

Приложение представляет собой клиентскую систему:

·        Клиентская часть - Database Desktop

·        Клиентская - Borland Delphi 7

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

Электронные данные автозаправки позволяет просматривать, а также изменять цены бензина той или иной АИC по определенному бензину по заданной дате.

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

база автозаправка приложение программирование

1. Общая часть


1.1 Обзор языка элементов языка программирования Delphi

 

Delphi - это среда разработки программ, ориентированных на работу в операционных системах семейства Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования которая, в свою очередь, базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Как следует из его названия, этот язык также воплотил концепцию объектно-ориентированного программирования.

С помощью Delphi можно создавать различные типы программ - и консольные приложения, и оконные приложения, и приложения для работы с базами данных и Internet. В консольных приложениях для ввода и вывода данных используются процедуры Read, Readln,Write, Writeln. Для выполнения консольного приложения эмулируется режим операционной системы MS DOS.

Оконные приложения - основной вид приложений, используемых в операционных системах семейства Windows. Оконными приложениями является подавляющее большинство прикладных программ, созданных для работы в Windows, например, такие программы, как Проводник, текстовый процессорWord, табличный процессор Excel, графические редакторы и многие другие. Delphi использует для создания оконных приложений специальные компоненты. С их помощью производится ввод и отображение текстовой информации, создание графического интерфейса пользователя и т.п.

В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP, предназначенную для разработки веб-приложений на языке программирования PHP. Теперь среда Delphi ориентирована не только на язык Delphi.

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

Итак, что же делать разработчику, получившему задачу по созданию того или иного приложения? Прежде всего, требуется проанализировать поставленную задачу, т.е. определить, какой вариант решения поставленного вопроса будет наиболее правильным, и что понадобится для его реализации. В простейшем случае понадобятся только компьютер и установленная на нем среда Delphi. Для решения более сложных задач могут понадобиться другие программы (начиная от приложений баз данных и заканчивая графическим редактором), а возможно - и другие специалисты, как-то другие программисты, 3D-моделисты, художники, технические писатели и т.д. На этом этапе так же важно взаимодействие с заказчиком проекта для внесения полной ясности в понимание того, чего все-таки требуется от программы, возможности внесения изменений, увеличения или уменьшения функциональности и т.п.

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

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

Наконец, когда ясны все цели поставленной задачи и намечены пути их решения, а так же есть ясность в том, что и как должно выглядеть и работать, можно приступать к написанию исходного кода - кодированию. И хотя это далеко не последний этап создания программы, процесс написания исходного кода, однажды начавшись, будет продолжаться во всех последующих этапах. А следующим этапом будет тестирование программы на работоспособность, выявление различных ошибок, доводке отдельных модулей и т.д. Причем чем больше программа по объему, тем дольше и сложнее ее тестировать, причем зависимость здесь отнюдь не линейная: увеличение размера программы вдвое увеличивает число потенциальных ошибок, как минимум, вчетверо.

Последним, и самым продолжительным этапом разработки, является сопровождение программы. Дело в том, что никакое тестирование не выловит все огрехи кода в большой программе. Поэтому выявление пользователями различных "недокументированных возможностей", а, попросту говоря - ошибок, может продолжаться ровно до тех пор, пока данное творение используется вообще. Кроме того, заказчику со временем наверняка захочется получить какие-либо дополнительные, ранее не предусмотренные возможности, изменить вид или тип поведения для тех или иных модулей и т.д.

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

Альфа-тестирование. Это предварительный вариант программы, на этапе выпуска альфа-версии функциональность продукта, как правило, не является полной;

Бета-тестирование. После того, как с одной стороны, исправлены ошибки, выявленные при альфа-тестировании, а с другой - завершено функциональное наполнение продукта, выпускают бета-версию;

Финишная подгонка, или Pre-Release. С некоторых пор вошло в моду предварять выход окончательной версии предварительным выпуском (PR, RC). На этот момент программа должна на 100% соответствовать тому, что ожидается в окончательной версии (Release), суть же выпуска такой версии - убедиться еще раз, что все в порядке.

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

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

В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени.такие ограничения не присущи. Хорошее доказательство тому - это тот факт, что сам Delphi разработан на Delphi. Можно делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт - журнал Visual Basic Magazine присудил свою премию Delphi for Windows.

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

Пять лет назад известная компания Borland выпустила первую версию своего средства визуального программирования Delphi. К разочарованию приверженцев фигурных скобок (в связи со спецификой языка именно так называют программистов, использующих С или С++) программы в Delphi надо было писать на языке Pascal, имеющем дурную репутацию "студенческого". Однако большинство серьёзных разработчиков вскоре поняло, что Pascal уже не "игрушка для детей", каким его можно было считать раньше, а новое профессиональное средство для быстрой разработки высококачественных программных продуктов.

Сейчас торговая марка Borland известна, пожалуй, каждому программисту. Кто-то скажет, что фирма написала отличный компилятор для языка С++ или создала мощную и быструю среду визуальной разработки приложений - Delphi. Но так было не всегда.

Компания была организована в далеком 1983, когда о средах визуальной разработки еще никто не мог мечтать, однако продукты Borland даже тогда отличались высоким качеством. Как это ни удивительно, даже вездесущая Microsoft не могла создать столь качественных средств разработки. Успех Borland можно объяснить простым стремлением сделать программирование комфортнее.

За последние годы политика Borland претерпела ряд изменений. Сначала переименование в Inprise, отказ от мелких клиентов и переход к созданию инструментов для больших компаний, потом возрождение в лице нового президента Дейла Фуллера (Dale Fuller)

Что же представляет из себя Borland сейчас?

Для начала компания вновь сменила имя - теперь в пресс-релизах пишут Inprise/Borland. Все вполне логично: Inprise - "свежий ветер" в области разработки инструментов для электронной коммерции и программного обеспечения под Linux. Borland - привычный и устоявшийся авторитет, известнейшая торговая марка.

Седьмого февраля этого года было объявлено о слиянии двух крупнейших высокотехнологичных компаний - Corel и Inprise/Borland. Называется приблизительная сумма сделки - 2.44 миллиарда долларов. Но не стоит рассматривать это, как "смерть" Borland. Напротив, два гиганта компьютерной индустрии решили объединить усилия и сообща работать над созданием нового продукта под Linux. Corel предложила свои разработки в области графических технологий и операционных систем на базе Linux. В свою очередь Borland займется созданием средств разработки. У обеих компаний появляется уникальный в истории шанс - использовать огромный потенциал Linux для создания новых мощных продуктов на базе open source (open source - модель распространения программного обеспечения, при которой клиенты могут получать исходные коды программ).

Многие пользователи продуктов Borland под Windows могут быть напуганы - "Если Borland начнет получать деньги из Linux, то зачем развивать продукты, написанные под Windows?!". На самом деле Borland не бросает (и вряд ли когда-либо бросит) перспективный рынок средств разработки для Windows, напротив, Inprise/Borland лишь расширяет область своей деятельности.

Но вернемся к основной теме данной статьи. Что же такое Delphi? Это средство визуального программирования, в основе которого лежит объектно-ориентированный язык. Тогда возникает еще один вопрос, что такое "визуальное программирование".

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

Безусловно, что для быстрого создания приложений необходим иной взгляд на программирование вообще. Для этого основой Delphi стал объектно-ориентированный Pascal (который так и называется Object Pascal и сильно отличается от стандарта языка).

Теперь программист не пишет стандартный код, а оперирует с более абстрактными понятиями - классами, событиями, свойствами, компонентами.

Для ясности необходимо определить понятие компонента. Взгляните на ваш Windows или на Internet Explorer, где Вы, возможно, читаете этот текст (это не относится к людям, предпочитающим печатную форму). Перед Вами кнопки, полосы прокрутки, выпадающие списки, меню и т.д. Все это - компоненты. А зачем писать что-то по сто раз, когда можно использовать библиотеку визуальных компонентов - VCL (Visual Component Library). Вам нужна кнопка. Зачем вспоминать длинные строчки кода - просто поместите на рабочую формочку нужный компонент. Даже слово "поместить" не совсем подходит - с компонентами работать до того просто, что программисты предпочитают более вольную терминологию "выкинуть" или "использовать", т.е. как бы переместить компонент из библиотеки на формочку.

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

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

Другим важным фактором успеха Delphi является его "визуальность". Можно сказать, что здесь программист не должен думать о всяких мелочах - как создать окно или кнопку, какие для этого необходимы классы или библиотеки. Задачи, для которых на C требуется множество усилий, в Delphi решаются несколькими кликами. Однако, вопреки сложившемуся мнению, при этом язык не теряет возможности доступа к низкоуровневым свойствам объектов, это делает его уникальным.

 

1.2 База данных Paradox


Хотя Delphi и не является СУБД в классическом понимании этого термина, в частности, у нее нет собственного формата баз данных, она поддерживает как собственные сразу несколько форматов, в частности, dBase и Paradox.

Таблицы dBase являются одним из первых форматов БД, появившихся на ПК, благодаря чему с ними могут взаимодействовать многие СУБД - если и не на прямую, то по крайней мере, имея возможность импортировать и экспортировать данные в этом формате. Более того, с некоторыми оговорками, их можно просматривать и редактировать даже в электронных таблицах, например, в Excel.

Формат dBase является достаточно простым и может использовать для хранения каждой таблицы до 3 файлов:

·              dbf - основная таблица с данными;

·              dbt - BLOB-данные (этот файл появляется, если в таблице предусмотрены соответствующие поля);

·              mdx - файл с индексами.

Таким образом, dBase - это достаточно простой и универсальный формат таблиц. Это о преимуществах, из недостатков же следует отметить такие, как ограничения на имена полей в таблицах: максимальная длина - всего 10 символов, допустимы только латинские буквы и цифры. Сходные ограничения налагаются на имена самих таблиц, при этом, в лучших традициях 16-битных систем, длина имени таблицы не должна превышать 8 символов (хотя это ограничение, в общем-то, можно игнорировать при работе в Delphi под 32-разрядными системами). Но куда более существенными недостатками являются отсутствие автоматического контроля целостности данных или связей, прав доступа, а так же ограничения на поддерживаемые типы данных, ключи, индексы и т.д. Все это делает данный формат недостаточно конкурентоспособным.

Опыт применения ЭВМ для построения прикладных систем обработки данных показывает, что самым эффективным инстру­ментом здесь являются не универсальные алгоритмические язы­ки высокого уровня, а специализированные языки для создания систем управления данными. Такие средства обычно включаются в состав СУБД, но они могут существовать и отдельно. СУБД дают возможность пользователям осуществлять непосредствен­ное управление данными, а программистам быстро разрабаты­вать более совершенные программные средства их обработки. Характеристики готовых прикладных пакетов определяются прежде всего принятой в СУБД организацией данных и типом используемого транслятора.

По способу установления связей между данными различают: - реляционную

иерархическую

сетевую модели.

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

Достоинством реляционной модели является сравнительная

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

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

Указанный недостаток снят в сетевой модели, где, по крайней мере теоретически, возможны связи "всех со всеми". Поскольку на практике это, естественно, невозможно, прихо­дится прибегать к некоторым ограничениям. Использование ие­рархической и сетевой моделей ускоряет доступ к информации в базе данных. Но поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и основной памяти ЭВМ. Недостаток основной памяти, конечно, снижает скорость обработки данных. Кроме того, для таких моделей характерна сложность реализации СУБД.

Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links). Исполняемый файл утилиты называется DBD. EXE, расположен он, как правило, в директории, называемом DBD (при установке по умолчанию). Для запуска Database Desktop просто дважды щелкните по ее иконке.


После старта Database Desktop выберите команду меню File|New|Table для создания новой таблицы. Перед Вами появится диалоговое окно выбора типа таблицы, как показано на рис.1. Вы можете выбрать любой формат из предложенного, включая различные версии одного и того же формата.

Рис. 1: Выпадающий список в диалоговом окне Table Type позволяет выбрать тип создаваемой таблицы

После выбора типа таблицы Database Desktop представит Вам диалоговое окно, специфичное для каждого формата, в котором Вы сможете определить поля таблицы и их тип, как показано на рис. 2.

Рис. 2: Database Desktop позволяет задать имена и типы полей в таблице

Имя поля в таблице формата Paradox представляет собой строку, написание которой подчиняется следующим правилам:

·              Имя должно быть не длиннее 25 символов.

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

·              Имя не должно содержать квадратные, круглые или фигурные скобки [], () или {}, тире, а также комбинацию символов "тире" и "больше" (->).

·              Имя не должно быть только символом #, хотя этот символ может присутствовать в имени среди других символов. Хотя Paradox поддерживает точку (.) в названии поля, лучше ее избегать, поскольку точка зарезервирована в Delphi для других целей.

Имя поля в таблице формата dBase представляет собой строку, написание которой подчиняется правилам, отличным от Paradox:

·              Имя должно быть не длиннее 10 символов.

·              Пробелы в имени недопустимы.

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

Укажем еще правила, которым подчиняется написание имен полей в формате InterBase.

·              Имя должно быть не длиннее 31 символа.

·              Имя должно начинаться с букв A-Z, a-z.

·              Имя поля может содержать буквы (A-Z, a-z), цифры, знак $ и символ подчеркивания (_).

·              Пробелы в имени недопустимы.

·              Для имен таблиц запрещается использовать зарезервированные слова InterBase.

Следующий (после выбора имени поля) шаг состоит в задании типа поля. Типы полей очень сильно различаются друг от друга, в зависимости от формата таблицы. Для получения списка типов полей перейдите к столбцу "Type", а затем нажмите пробел или щелкните правой кнопкой мышки. Приведем списки типов полей, характерные для форматов Paradox, dBase и InterBase.

Тип

Обозначение

Описание

Alpha

A

Строка длиной не более 255 символов (аналог ShortString)

Number

N

Число с плавающей точкой (аналог Double)

Money

$

То же, что и Number, но при выводе сопровождается обозначением денежного знака

Short

S

Малое целое (аналог SmallInt)

LongInteger

I

Целое (аналог LongInt)

BCD

#

Число в двоично-десятичном формате

D

Дата в диапазоне от 1 января 9999г. до н.э. до 31 декабря 9999г.

Time

T

Время

Timestamp

@

Дата и время

Memo

M

Строка произвольной длины. Первые 240 символов хранятся в файле основной таблице, остальные - в файле с BLOB-данными

Formatted Memo

F

То же, что и Memo но для RTF-текста

Graphic

G

Графическое изображение в формате BMP, PCX, TIFF, GIF или EPS. При выводе преобразуется в BMP, хранится в файле с BLOB-данными

OLE

O

Произвольные данные, которые поддерживаются через OLE. Хранятся в файле в BLOB-данными

Logical

L

Логическое значение (TRUE или FALSE)

Autoincrement

+

Автоинкрементное поле. При добавлении новой записи значение этого поля автоматически увеличивается на 1

Binary

B

Двоичная информация (произвольная последовательность байтов). Подобно Memo, первые 240 байт хранятся в файле основной таблицы, остальные - в BLOB

Bytes

Y

Двоичная информация (произвольная последовательность байтов) длиной не более 255 символов

Работа с данными в таблицах

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

Просмотр данных.

Paradox предоставляет несколько способов просмотра данных:

использовать окно Table для просмотра данных в таблице, перемещаясь по столбцам и строкам. При этом можно использовать как стандартный формат таблиц, так и разработанный пользователем;

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

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

Использование таблиц.

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

Чтобы открыть на экране таблицу, надо выбрать команду File|Open|Table из меню Paradox Desktop. В появившемся диалоговом окне Open Table выбирается нужная таблица.открывает таблицу в окне Table. При этом меню и SpeedBar отображают операции, осуществимые при работе с таблицей.таблицы состоят из строк и столбцов. Каждая строка называется записью и содержит всю имеющуюся информацию о каком-либо одном объекте. Каждый столбец называется полем и содержит какой-либо элемент информации, составляющей запись. Поля Paradox-таблицы могут содержать различные виды информации. Paradox предусматривает для каждого из них определенный тип поля, который определяет, какой вид информации может храниться в данном поле.

Перемещение по таблице.

Для перемещения по записям таблицы используется меню Record или иконки на SpeedBar. Меню Record предоставляет следующие команды перемещения:- переход к первой записи таблицы;- переход к последней записи таблицы;- переход к следующей записи;- переход к предыдущей записи;Set - переход к следующей группе записей, отображаемых в окне Table;Set - переход к предыдущей группе записей, отображаемых в окне Table.

Для перемещения по таблице также можно использовать клавиатуру и линейку прокрутки.

Изменение способа отображения.

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

Можно изменить формат таблицы двумя способами:

проинспектировать нужный элемент таблицы;

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

Вообще изменение способа отображения включает в себя:

* Непосредственные манипуляции с таблицей работу с изображением таблицы при помощи мыши. Это дает возможность изменять форму, размер и положение на экране любого объекта.

* Манипуляции со столбцами - перемещение, изменение размеров столбца.

* Манипуляции со строками.

* Установка режима выравнивания. Режим выравнивания определяет расположение данных в поле или текста заголовка.

* Выбор цвета. Можно изменить цвет любой части таблицы: фона таблицы, линий сетки, конкретного поля, фона и символов столбца, а также фона и символов заголовка.

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

* Изменение свойств в соответствии с диапазоном данных.

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

* Изменение способа выделения текущей записи.

Использование форм.

Используя формы Paradox, пользователь может отображать данные из таблиц любым ему угодным способом, выбирая при этом те данные, которые он хотел бы видеть. Для того, чтобы открыть форму из Desktop, нужно выбрать пункт меню File|Open|Form. После этого появится диалоговое окно Open Document, которое используется для выбора нужной формы. Для открытия формы текущей таблицы можно либо нажать мышью кнопку Quick Form на SpeedBar, либо выполнить команду Table|Quick|Form, либо нажать F7. Если не определена форма для текущей таблицы, Paradox откроет по умолчанию стандартную форму.

Над формами Paradox производит следующие операции:

масштабирование формы;

сохранение настройки окна Form;

распечатывание формы.

Работа с данными в таблицах и формах.

Режим View Field (просмотр поля).

При перемещении по полям таблицы или формы, Paradox выделяет цветом все поле полностью. Для установки текстового курсора внутри поля надо включить режим Field View. При этом Paradox поместит курсор к конец содержимого поля, что дает возможность перемещаться в пределах этого поля.имеет три режима просмотра полей:View - дает возможность перемещаться внутри поля от символа к символу;Field View - позволяет перемещаться к другому полю, не отменяя режим просмотра поля;View - режим просмотра мемо - и форматированных мемо-полей, который при этом дает возможность небольшого редактирования этих полей.

Выбор поля

Копирование данных.

Paradox дает пользователю возможность копировать данные из таблицы и в таблицу. Простой командой Edit|Copy пользователь может скопировать данные в Clipboard, предварительно их отметив. Помещенные в Clipboard данные можно перенести в другие поля или другие Windows-программы. Paradox позволяет копировать часть поля, целое поле, группу полей, строку.

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

Просмотр данных в различных порядках и диапазонах.

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

Выбранный индекс определяет порядок просмотра таблицы.

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

Диапазон может задаваться несколькими способами:

точным равенством, то есть Paradox выдаст на просмотр только те записи, значения индексов которых совпадают с заданной величиной;

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

значениями составного индекса.

Поиск информации.

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

поиск полей;

поиск информации по номерам - номера записям в Paradox-таблицах присваиваются автоматически и не подлежат редактированию, они соответствуют позициям записей в таблице;

поиск записей по значению;

поиск по простым шаблонам - можно производить поиск информации по несложным шаблонам;

сравнение по расширенным шаблонным - этот способ отличается от предыдущего расширенным набором операций.

Предварительный просмотр отчета.

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

 

2. Специальная часть


2.1 Общая постановка задачи


ИСР Delphi позволяет разработать базу данных АЗС:

) Выбор автозаправочных станций;

) Список автовладельцев;

) Вывод на экран статистику;

) Многофункциональность;

) Вывод картинки на экран;

2.2 Описание программы


Данный проект разработан средствами Delphi.

Интерфейс данной приложение прост и понятен в использовании. Для запуска приложение необходимо запустить avtoazs5. exe и перед вами запустится БД "АЗС”.


После вы можно пользоваться программой.

Далее вы можно перейти к программе, а так же:

·        Просмотреть список водителей автомобиля;

·        Список автозаправочных станций;

·        Просмотреть информацию о программе;

·        Просмотреть информацию об авторе;

 

2.2.1 Заполнение таблиц информацией

Водители автомобилей.

Рис 2.

Рис 3

КНПС.

Рис 4

СИНОИЛ.

Рис 5

КМГ.

Рис 6

РОСНЕФТЬ.

Рис 7

2.4 Описание набора данных


2.4.1 Входные данные

Входными данными в программе являются текстовые и числовые поля таблиц:

·        КНПС, СИНОИЛ, КМГ,РОСНЕФТЬ - таблица со списком горючего;

·        Фам - таблица со списком владельцев автомобиля;

Также в процессе работы программы автоматически создаются таблицы с владельцев автомобиля, содержащие список фамилии, имени и т. д, таблица "КНПС, СИНОИЛ, КМГ, РОСНЕФТЬ" со списком горючего также изменить его и добавить в базу можно при помощи операции.

Вся информация хранится в базе данных " baza fam. DB, baza knps. DB, baza sinoil. DB, baza rosneft. DB, baza km. DB".

 

2.4.2 Выходные данные

Выходной информацией является формирование таблиц в Paradox, содержащих следующие данные:

·        Бензин;

·        Дата;

·        Цена;

Выходные данные базы Владельцы Автомобилей

·        Фамилия;

·        Имя;

·        Номер автомобиля;

·        Марка автомобиля;

·        Описание;

·        Картинка;

·        Какое топливо;

·        Сколько за литр;

 

3. Организация производства


3.1 Инструкция программисту и комплекс технических средств необходимых для решения задач


Для работы автозаправки потребуется:

Процессор: Intel Pentium и более поздние версии процессоров;

Операционная система: Windows XP/7/8/8.1;

ОЗУ: 32 Mb и более;

ПЗУ: ≈30 Mb;

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

Инсталляция программы не требуется.

 

3.2 Инструкция пользователю

 

Чтобы запустить программу "avtoazs5. exe" необходимо щелкнуть два раза по ярлыку "avtoazs5. exe".

Запуститься программа и на экране, после чего через несколько секунд вы перейдете на главную форму. Чтобы приступить к работе для начала нужно войти на форму "Владельцы автомобилей" добавить данные, после чего можно изменить данные, затем можно перейти на форму КНПС, СИНОИЛ, КМГ, РОСНЕФТЬ там тоже можно изменять данные либо добавлять их в бд. В программе есть все данные о Авто Заправочных Станций

 

3.3 Инструкция программисту по работе с программой

 

Чтобы запустить программу "avtoazs5. exe" необходимо щелкнуть два раза по ярлыку "avtoazs5. exe".

Запуститься программа и на экране, после чего через несколько секунд вы перейдете на главную форму. Чтобы приступить к работе для начала нужно войти на форму "Владельцы автомобилей" добавить данные, после чего можно изменить данные, затем можно перейти на форму КНПС, СИНОИЛ, КМГ, РОСНЕФТЬ там тоже можно изменять данные либо добавлять их в бд. В программе есть все данные о Автозаправке

 

4. Заключение


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

Недаром способ обработки данных Paradox фактически является стандартом для других СУБД. Появление разновидности Paradox - Paradox for Windows расширило и без того обширные возможности этой СУБД. Возможность работать с данными не только в таблицах и формах, но и в кросстаблицах, - является еще одним шагом вперед по пути к оптимизации обработки данных, предпринятым фирмой Borland. Наличие механизмов обмена данными делает Paradox требуемым компонентом как на машинах, работающих в сети, так и на одиночных. Наличие всесторонних механизмов реализации запросов экономит время пользователя, повышает наглядность изображения данных, тем самым еще повышая возможности продукта.

С появлением версии Paradox for Windows фирма Borland устранила, по сути, единственный существовавший до того времени недостаток Paradox - отсутствие с пакета компилятора для создания EXE-файлов, и, как следствие, автономных программных продуктов. В результате этого усовершенствования Paradox является базой данных, реализующей все необходимый функции удобным для пользователя способом.

В программе мы успешно реализовали Базу данных "Авто Заправочной Станции”.

5. Список используемой литературы


1.      Горев А., Макашарипов С., Эффективная работа с СУБД: СПб, "Питер", 2007г.;

2.      Кириллов В.В. Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 2004г.;

.        Культин Н. "С/С++ в задачах и примерах" - СПб.: БХВ-Петербург, 2002г. - 288 с.;

.        Чарльз Сигель. Paradox - это очень просто. Москва, 2003г.;

.        Справочник по программированию в системе Paradox. Москва, 2002г.;

.        Borland технологии. InterBase, Paradox for MS-Windows, Delphi: Справочное руководство.;

.        Delphi 7. Справочное пособие Автор: А.Я. Архангельский;

.        Основы программирования в Delphi 7 Автор: Никита Культин;

.        Базы данных в Delphi 7. Самоучитель Автор: Вячеслав Понамарев.

6. Приложение


Таблицы


 

Блок схемы проекта



6.3 Листинг программы


unit avtoazs;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls, Menus;= class (TForm): TImage;: TImage;: TImage;: TImage;: TImage;: TLabel;: TLabel;: TLabel;: TImage;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;Image1Click (Sender: TObject);Image2Click (Sender: TObject);Image3Click (Sender: TObject);Image4Click (Sender: TObject);Image5Click (Sender: TObject);Image6Click (Sender: TObject);N2Click (Sender: TObject);N4Click (Sender: TObject);N6Click (Sender: TObject);N7Click (Sender: TObject);N8Click (Sender: TObject);N9Click (Sender: TObject);N5Click (Sender: TObject);N10Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;avtoazs1, avtoazs2, avtoazs3, avtoazs4, actoazs5, actoazs7, actoazs8,actoazs9;

{$R *. dfm}TForm1. Image1Click (Sender: TObject);. show;TForm1. Image2Click (Sender: TObject);. show;TForm1. Image3Click (Sender: TObject);. show;TForm1. Image4Click (Sender: TObject);. show;TForm1. Image5Click (Sender: TObject);;;TForm1. Image6Click (Sender: TObject);. show;TForm1. N2Click (Sender: TObject);. show;TForm1. N4Click (Sender: TObject);. show;TForm1. N6Click (Sender: TObject);;;TForm1. N7Click (Sender: TObject);. show;TForm1. N8Click (Sender: TObject);. show;TForm1. N9Click (Sender: TObject);. show;TForm1. N5Click (Sender: TObject);. show;TForm1. N10Click (Sender: TObject);. show;.avtoazs1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Grids, DBGrids, DBTables, StdCtrls, ExtCtrls, DBCtrls,, Series, TeeProcs, Chart, DbChart, Mask, Menus;= class (TForm): TTable;: TDBGrid;: TDataSource;: TImage;: TLabel;: TDBNavigator;: TDBMemo;Benzin: TStringField;Data: TDateField;Cena: TCurrencyField;Opisanie: TStringField;: TDBChart;: TPieSeries;: TAreaSeries;: TButton;: TLabel;: TDBEdit;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TMainMenu;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TMenuItem;: TDBText;: TLabel;Image5Click (Sender: TObject);Button2Click (Sender: TObject);N2Click (Sender: TObject);Button4Click (Sender: TObject);N3Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;avtoazs;

{$R *. dfm}TForm2. Image5Click (Sender: TObject);. close;TForm2. Button2Click (Sender: TObject);. DataSource. DataSet. edit;. DataSource. DataSet. FieldByName ('Data'). Asstring: =dbedit1. text;. DataSource. DataSet. post;;TForm2. N2Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;TForm2. Button4Click (Sender: TObject);. Insert;. FieldByName ('Benzin'). AsString: = Edit3. Text;. FieldByName ('Data'). Asstring: = Edit4. Text;. FieldByName ('Cena'). Asstring: = Edit5. Text;. FieldByName ('Opisanie'). Asstring: = Edit6. Text;. Post;. Refresh;. Text: =TAble1. FieldByName ('Benzin'). AsString;. Text: =TAble1. FieldByName ('Data'). AsString;. Text: =TAble1. FieldByName ('Cena'). AsString;. Text: =TAble1. FieldByName ('Opisanie'). AsString;;TForm2. N3Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;.avtoazs2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, DB, Grids, DBGrids, DBTables, DBCtrls,, Series, TeeProcs, Chart, DbChart, Menus, Mask;= class (TForm): TTable;: TDBGrid;: TDataSource;: TImage;: TLabel;: TDBNavigator;: TDBMemo;: TDBChart;Benzin: TStringField;Data: TDateField;Cena: TCurrencyField;Opisanie: TStringField;: TPieSeries;: TAreaSeries;: TLabel;: TLabel;: TLabel;: TButton;: TDBEdit;: TDBEdit;: TDBEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TMenuItem;: TDBText;: TLabel;Image5Click (Sender: TObject);Button2Click (Sender: TObject);N2Click (Sender: TObject);N3Click (Sender: TObject);Button4Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;avtoazs1;

{$R *. dfm}TForm3. Image5Click (Sender: TObject);. close;TForm3. Button2Click (Sender: TObject);. DataSource. DataSet. edit;. DataSource. DataSet. FieldByName ('Data'). Asstring: =dbedit1. text;. DataSource. DataSet. post;;TForm3. N2Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;TForm3. N3Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;TForm3. Button4Click (Sender: TObject);. Insert;. FieldByName ('Benzin'). AsString: = Edit3. Text;. FieldByName ('Data'). Asstring: = Edit4. Text;. FieldByName ('Cena'). Asstring: = Edit5. Text;. FieldByName ('Opisanie'). Asstring: = Edit6. Text;. Post;. Refresh;. Text: =TAble1. FieldByName ('Benzin'). AsString;. Text: =TAble1. FieldByName ('Data'). AsString;. Text: =TAble1. FieldByName ('Cena'). AsString;. Text: =TAble1. FieldByName ('Opisanie'). AsString;;.avtoazs3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, DB, Grids, DBGrids, DBTables, DBCtrls,, Series, TeeProcs, Chart, DbChart, Menus, Mask;= class (TForm): TTable;: TDBGrid;: TDataSource;: TImage;: TLabel;: TDBNavigator;: TDBMemo;: TDBChart;: TPieSeries;Benzin: TStringField;Data: TDateField;Cena: TCurrencyField;Opisanie: TStringField;: TAreaSeries;: TLabel;: TLabel;: TLabel;: TButton;: TDBEdit;: TDBEdit;: TDBEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TMenuItem;: TDBText;: TLabel;Image5Click (Sender: TObject);Button2Click (Sender: TObject);N2Click (Sender: TObject);Button4Click (Sender: TObject);N3Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;

{$R *. dfm}TForm4. Image5Click (Sender: TObject);. close;TForm4. Button2Click (Sender: TObject);. DataSource. DataSet. edit;. DataSource. DataSet. FieldByName ('Data'). Asstring: =dbedit1. text;. DataSource. DataSet. post;;TForm4. N2Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;TForm4. Button4Click (Sender: TObject);. Insert;. FieldByName ('Benzin'). AsString: = Edit3. Text;. FieldByName ('Data'). Asstring: = Edit4. Text;. FieldByName ('Cena'). Asstring: = Edit5. Text;. FieldByName ('Opisanie'). Asstring: = Edit6. Text;. Post;. Refresh;. Text: =TAble1. FieldByName ('Benzin'). AsString;. Text: =TAble1. FieldByName ('Data'). AsString;. Text: =TAble1. FieldByName ('Cena'). AsString;. Text: =TAble1. FieldByName ('Opisanie'). AsString;;TForm4. N3Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;.avtoazs4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, DB, Grids, DBGrids, DBTables, DBCtrls,, Series, TeeProcs, Chart, DbChart, Menus, Mask;= class (TForm): TTable;: TDBGrid;: TDataSource;: TImage;: TLabel;: TDBNavigator;: TDBMemo;: TDBChart;: TPieSeries;Benzin: TStringField;Data: TDateField;Cena: TCurrencyField;Opisanie: TStringField;: TAreaSeries;: TLabel;: TLabel;: TLabel;: TButton;: TDBEdit;: TDBEdit;: TDBEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TMenuItem;: TDBText;: TLabel;Image5Click (Sender: TObject);Button2Click (Sender: TObject);N2Click (Sender: TObject);Button4Click (Sender: TObject);N3Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;

{$R *. dfm}TForm5. Image5Click (Sender: TObject);. close;TForm5. Button2Click (Sender: TObject);. DataSource. DataSet. edit;. DataSource. DataSet. FieldByName ('Data'). Asstring: =dbedit1. text;. DataSource. DataSet. post;;TForm5. N2Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;TForm5. Button4Click (Sender: TObject);. Insert;. FieldByName ('Benzin'). AsString: = Edit3. Text;. FieldByName ('Data'). Asstring: = Edit4. Text;. FieldByName ('Cena'). Asstring: = Edit5. Text;. FieldByName ('Opisanie'). Asstring: = Edit6. Text;. Post;. Refresh;. Text: =TAble1. FieldByName ('Benzin'). AsString;. Text: =TAble1. FieldByName ('Data'). AsString;. Text: =TAble1. FieldByName ('Cena'). AsString;. Text: =TAble1. FieldByName ('Opisanie'). AsString;;TForm5. N3Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =860;;.actoazs5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, Mask,, Buttons, QRCtrls, QuickRpt, Menus;= class (TForm): TTable;: TDataSource;: TDBGrid;: TDBImage;: TDBMemo;: TImage;: TLabel;: TDBNavigator;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TOpenPictureDialog;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TEdit;: TLabel;: TButton;: TQuickRep;: TQRBand;: TQRLabel;: TQRBand;: TQRDBText;: TQRDBText;: TQRDBText;: TQRLabel;: TQRLabel;: TQRDBText;: TQRLabel;: TQRDBText;: TQRLabel;: TQRDBText;: TQRLabel;: TQRDBText;: TQRLabel;: TQRDBText;: TQRLabel;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TButton;: TMenuItem;: TLabel;Image1Click (Sender: TObject);PictureToGraphicField (D: TDataSet; F: TField);Button1Click (Sender: TObject);Button3Click (Sender: TObject);DBGrid1CellClick (Column: TColumn);DBNavigator1Click (Sender: TObject; Button: TNavigateBtn);N2Click (Sender: TObject);N3Click (Sender: TObject);N4Click (Sender: TObject);Label1Click (Sender: TObject);N5Click (Sender: TObject);Button2Click (Sender: TObject);Button4Click (Sender: TObject);N6Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;

{$R *. dfm}jpeg, actoazs8;TForm6. Image1Click (Sender: TObject);. close;TForm6. PictureToGraphicField (D: TDataSet; F: TField);: TFileName;: TBitmap;: TJPEGImage;: = F. DataSet; // множество данных, которое содержит поле FD. Active then // если таблица открыта, тоD. RecordCount > 0 then // если в таблице есть записи, тоOpenPictureDialog1. Execute then // если файл картинки выбран, тоnot (D. State in [dsEdit]) then D. Edit; // перевод таблицы в режим редактирования: = OpenPictureDialog1. FileName; // имя файла с картинкой: = TBitmap. Create; // создаем Bitmap в памяти: = TJPEGImage. Create; // создаем JPEG.compressionQuality: = 100; // качество сжатия изображения.compress; // сжатие. LoadFromFile (FileName); // загрузка. Assign (jpg); // передача из JPEG в BMP. Assign (bmp); // передача картинки из Bitmap в поле "Каринка". Post; // сохранение записи// в случае исключительной ситуции делать:('Не удалось загрузить картинку. '); // сообщение об ошибке(jpg); // освобождение памяти, занятой JPEG(bmp); // освобождение памяти, занятой Bitmap;;;TForm6. Button1Click (Sender: TObject);(DBImage1. DataSource. DataSet,DBImage1. DataSource. DataSet. FieldByName ('Картинка'));(DBImage1. DataSource. DataSet. Name);;TForm6. Button3Click (Sender: TObject);. Preview;;TForm6. DBGrid1CellClick (Column: TColumn);,b: integer;: =StrToint (dbEdit6. Text);: =StrToint (dbEdit8. Text);. Text: =inttostr (a*b);;TForm6. DBNavigator1Click (Sender: TObject; Button: TNavigateBtn);,b: integer;: =StrToint (dbEdit6. Text);: =StrToint (dbEdit8. Text);. Text: =inttostr (a*b);;TForm6. N2Click (Sender: TObject);;;TForm6. N3Click (Sender: TObject);(DBImage1. DataSource. DataSet,DBImage1. DataSource. DataSet. FieldByName ('Картинка'));(DBImage1. DataSource. DataSet. Name);;TForm6. N4Click (Sender: TObject);. Preview;;TForm6. Label1Click (Sender: TObject);;;TForm6. N5Click (Sender: TObject);. show;TForm6. Button2Click (Sender: TObject);. Table1. Insert;. TAble1. FieldByName ('Фамилия'). AsString: = Edit1. Text;. TAble1. FieldByName ('Имя'). Asstring: = Edit2. Text;. TAble1. FieldByName ('Номер автомобиля'). Asstring: = Edit3. Text;. TAble1. FieldByName ('Марка автомобиля'). Asstring: = Edit4. Text;. TAble1. FieldByName ('Описание'). Asstring: = Edit5. Text;. TAble1. FieldByName ('Картинка'). Asstring: = Edit6. Text;. TAble1. FieldByName ('Каким"АЗС"заправляется'). Asstring: = Edit7. Text;. TAble1. FieldByName ('Сколько литров'). Asstring: = Edit8. Text;. TAble1. FieldByName ('Какое топливо'). Asstring: = Edit9. Text;. TAble1. FieldByName ('Сколько за литр'). Asstring: = Edit10. Text;. TAble1. FieldByName ('Сколько всего за неделю'). Asstring: = Edit11. Text;. Table1. Post;. Table1. Refresh;. Edit1. Text: =form6. TAble1. FieldByName ('Фамилия'). AsString;. Edit2. Text: =form6. TAble1. FieldByName ('Имя'). AsString;. Edit3. Text: =form6. TAble1. FieldByName ('Номер автомобиля'). AsString;. Edit4. Text: =form6. TAble1. FieldByName ('Марка автомобиля'). AsString;. Edit5. Text: =form6. TAble1. FieldByName ('Описание'). AsString;. Edit6. Text: =form6. TAble1. FieldByName ('Картинка'). AsString;. Edit7. Text: =form6. TAble1. FieldByName ('Каким"АЗС"заправляется'). AsString;. Edit8. Text: =form6. TAble1. FieldByName ('Сколько литров'). AsString;. Edit9. Text: =form6. TAble1. FieldByName ('Какое топливо'). AsString;. Edit10. Text: =form6. TAble1. FieldByName ('Сколько за литр'). AsString;. Edit11. Text: =form6. TAble1. FieldByName ('Сколько всего за неделю'). AsString;;TForm6. Button4Click (Sender: TObject);. DataSource. DataSet. edit;. DataSource. DataSet. FieldByName ('фамилия'). Asstring: =dbedit9. text;. DataSource. DataSet. post;;TForm6. N6Click (Sender: TObject);. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. visible: =True;. width: =1075;;.actoazs7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ShellAPI;= class (TForm): TLabel;: TLabel;: TLabel;: TButton;Label3Click (Sender: TObject);Button1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm7;

{$R *. dfm}TForm7. Label3Click (Sender: TObject);(handle, 'open', 'http://vk.com/noneone69', nil, nil, SW_SHOW);;TForm7. Button1Click (Sender: TObject);. close;;.actoazs8;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, DBGrids, DB, DBTables;= class (TForm): TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TButton;: TButton;: TTable;: TDataSource;: TDBGrid;: TLabel;: TTable;: TDataSource;: TDBGrid;: TLabel;: TTable;: TDataSource;: TDBGrid;: TLabel;: TTable;: TDataSource;: TDBGrid;: TLabel;Button1Click (Sender: TObject);Button2Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm8;actoazs5;

{$R *. dfm}TForm8. Button1Click (Sender: TObject);. Table1. Insert;. TAble1. FieldByName ('Фамилия'). AsString: = Edit1. Text;. TAble1. FieldByName ('Имя'). Asstring: = Edit2. Text;. TAble1. FieldByName ('Номер автомобиля'). Asstring: = Edit3. Text;. TAble1. FieldByName ('Марка автомобиля'). Asstring: = Edit4. Text;. TAble1. FieldByName ('Описание'). Asstring: = Edit5. Text;. TAble1. FieldByName ('Картинка'). Asstring: = Edit6. Text;. TAble1. FieldByName ('Каким"АЗС"заправляется'). Asstring: = Edit7. Text;. TAble1. FieldByName ('Сколько литров'). Asstring: = Edit8. Text;. TAble1. FieldByName ('Какое топливо'). Asstring: = Edit9. Text;. TAble1. FieldByName ('Сколько за литр'). Asstring: = Edit10. Text;. Table1. Post;. Table1. Refresh;. Edit1. Text: =form6. TAble1. FieldByName ('Фамилия'). AsString;. Edit2. Text: =form6. TAble1. FieldByName ('Имя'). AsString;. Edit3. Text: =form6. TAble1. FieldByName ('Номер автомобиля'). AsString;. Edit4. Text: =form6. TAble1. FieldByName ('Марка автомобиля'). AsString;. Edit5. Text: =form6. TAble1. FieldByName ('Описание'). AsString;. Edit6. Text: =form6. TAble1. FieldByName ('Картинка'). AsString;. Edit7. Text: =form6. TAble1. FieldByName ('Каким"АЗС"заправляется'). AsString;. Edit8. Text: =form6. TAble1. FieldByName ('Сколько литров'). AsString;. Edit9. Text: =form6. TAble1. FieldByName ('Какое топливо'). AsString;. Edit10. Text: =form6. TAble1. FieldByName ('Сколько за литр'). AsString;;TForm8. Button2Click (Sender: TObject);. close;.actoazs9;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class (TForm): TMemo;: TButton;Button1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm9;

{$R *. dfm}TForm9. Button1Click (Sender: TObject);. Close;;.

Похожие работы на - Разработка базы данных автозаправочной станции

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!