Электронная программа «Ежедневник»

Автор: Пользователь скрыл имя, 19 Мая 2013 в 19:13, курсовая работа

Описание работы

Электронная программа «Ежедневник» разработана на языке программирования Delphi. При разработке электронного ежедневника будет предусмотрено создание заметок о событии и соответствующей ему дате.
Данная программа предназначена для ведения файлов подобных страницам адресной записной книжки и способна полностью заменить собой ее бумажных предшественников. Созданная для этого система освободит пользователя от монотонной работы.

Работа содержит 1 файл

Курсовая_ИТ.docx

— 350.71 Кб (Скачать)

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

 

1.2 Объекты в Delphi

 

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

Сейчас преимущества использования  объектов очевидны для всех. Однако так было не всегда. Почти 20 лет объекты развивались в различных языках, первым из которых был Simula 67. Постепенно объектно-ориентированный подход нашел себе место и в более сложных языках, таких как C++, Delphi и множестве других языков. Блестящим примером реализации объектов была библиотека Turbo Vision, предназначенная для построения пользовательского интерфейса программ в операционной системе MS-DOS.

Объекты, как понятие в программировании появились в конце 60-х годов. Они получились объединением понятий Данные и Операции Рассмотрение данных в неразрывной связи с методами их обработки позволило вывести формулу объекта:

Объект = Данные + Операции

На основании этой формулы была разработана методология объектно-ориентированного программирования (ООП).

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

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

Например, объект «кнопка» имеет свойство «цвет». Значение цвета кнопка запоминает в одном из своих полей. При  изменении значения свойства «цвет» вызывается метод, который перерисовывает кнопку.

Кстати, этот пример позволяет сделать  важный вывод: свойства имеют первостепенное значение для программиста, использующего  объект. Чтобы понять суть и назначение объекта вы обязательно должны знать  его свойства, иногда – методы, очень  редко – поля (объект и сам  знает, что с ними делать).

Объекты и компоненты

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

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

Классы объектов

Каждый объект всегда принадлежит  некоторому классу объектов. Класс  объектов – это обобщенное (абстрактное) описание множества однотипных объектов. Объекты являются конкретными представителями  своего класса, их принято называть экземплярами класса.

Три свойства ООП

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

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

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

Методы

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

 

1.3 Описание работы программы

 

 Программа содержит в своем  составе все необходимые пакеты  для работы независимо от Borland Delphi 7. Запуск производится по открытию файла ImageViewer.exe. Сразу после этого открывается главное окно диспетчера рисунков и отображаются файлы, находящиеся в каталоге с программой. Первоначальный запуск программы представлен на рисунке 1.

 

Рисунок 1.1 - Главное окно приложения

 

Аппаратно-системные требования

Минимальные системные требования:

-IBM PC: MS Windows 98 и выше;

-процессор Pentium 2 – 400МГц;

-64 Мб ОЗУ;

-SVGA – карта (800х600, 65536 цветов);

-Клавиатура;

-Мышь

Все файлы  должны лежать в одной папке и  запускаться оттуда.

 

 

 

1.4 Недостатки и достоинства  программы

 

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

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

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

 

2 Практическая часть

 

Для создания приложения «Ежедневник» создадим новый проект:File->New->Application.

Поместим на форму из группы компонентов Standard  компоненты Label1 и label2.

Компонент Label предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы. Конечно, текст надписи, отображаемый компонентом Label можно изменить, но не непосредственно, а только программно. Свойством компонента Label, которое используется для задания отображаемого текста, является Caption. 

Добавим на форму компоненты  DBGrid, Table и DBNavigator.

Компонент Query имеет большинство свойств и методов, совпадающих с Table. Дополнительное преимущество Query – возможность формировать запросы на языке SQL. Если запрос SQL сводится к просмотру таблицы (запрос Select), то результат этого запроса (а не сама исходная таблица) помещается во временном файле на компьютере пользователя. Это таблица только для чтения и не допускает каких-либо изменений. Если же запрос связан с какими-либо изменениями содержания таблицы, то никаких временных таблиц не создается. BDE передает запрос на сервер, там он обрабатывается и в приложение возвращается информация о том, успешно ли завершена соответствующая операция. Таким образом, эффективность Query при работе в сети выше, чем у Table.

Компонент Query (набор данных) помещается на форму вместе с компонентом DataSource (источник данных) и компонентами отображения данных, в нашем случае это DBGrid.

 Основное свойство  компонента Query – SQL, имеющее тип TString. Это список строк, содержащих запросы SQL. В процессе проектирования приложения необходимо сформировать в этом свойстве некоторый предварительный запрос SQL, который показал бы, с какой таблицей или таблицами будет проводится работа. Но далее во время выполнения приложения свойство SQL может формироваться программными методами, обычными для класса TString: Clear – очистка, Add – добавление строки и т.д.

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

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

Компонент DBGrid отображает набор данных в формате электронной таблицы. Одним из важнейших свойств DBGrid является свойство columns. Оно позволяет вам изменять номера и порядок столбцов, которые появляются в таблице. Вы можете добавить, удалить или упорядочить столбцы с помощью редактора столбцов (Columns Editor). Для вызова редактора столбцов щелкните правой кнопкой мыши на таблице и выберите пункт Columns Editor в контекстном меню. Вы можете также щелкнуть на кнопке с многоточием рядом со свойством Columns в инспекторе объектов. Используя редактор столбцов, вы можете добавлять и удалять столбцы, или изменять порядок их расположения.

Компонент Table, представленный классом TTable, обеспечивает самый быстрый и простой доступ к таблице. Использования таблиц более чем достаточно для большинства приложений, работающих с одноярусными базами данных. Обычно вы будете использовать компонент Table для локальных баз данных, а компонент Query — для работы с SQL-серверами.

По большей части  смысл свойств и методов ТТаblе интуитивно понятен. Иными словами, вам достаточно взглянуть на имя свойства или метода, чтобы определить его назначение. Не требуется затрачивать больших умственных усилий, чтобы понять, что метод LockTable блокирует таблицу, используемую в приложении, а метод UnLockTable снова ее разблокирует. Точно так же, вам не обязательно иметь IQ в 150 единиц, чтобы догадаться о назначении методов CreateTable, DeleteTable и RenameTable.

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

Визуализация и пример использования вышеуказанных компонентов  представлены на рисунке 2.

 

 

Рисунок 2 – Редактирование записи в таблице

 

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

Компонент Delphi Button это простая командная кнопка. Командная кнопка Delphi Button используется для реализации в программе команд с помощью обработчика события OnClick этого компонента. Пример работы кнопок представлен на рисунке 3.

 

Рисунок 3 – Результат  нажатия кнопки «На сегодня»

 

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

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

Программный код представлен  в приложении А.

 

 

Заключение

 

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

Информация о работе Электронная программа «Ежедневник»