Реферат по предмету "Компьютеры и цифровые устройства"


Обьектно ориентированное программирование

Содержание. Введение Часть I. Теоретическая часть 1. Основные понятия ООП.… ……. 2. Среда реализации … ЧастьII. Практическая часть 1. Постановка задачи ……… 2.2. Ход работы ……… 3. Тест программы … 4. Инструкция для пользователя ………. Заключение Литература Введение. Объектно-ориентированное программирование является в настоящее время

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

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

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

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

Например, мы знаем, что такое стол. Стол – это некий предмет, имеющий столешницу и ножки. Такое описание стола и будет классом, а конкретный экземпляр стола, за которым вы сейчас сидите, является объектом данного класса. Объект состоит из 3 частей: • Имя объекта; • Данные различных типов, называемые полями объекта; • Заголовки процедур или функций, называемых методами объекта (операциями).

Объектно-ориентированный язык программирования характеризуется тремя основными свойствами: 1. Инкапсуляция – это объединение и скрытие данных и обрабатывающих их методов от внешнего пользователя внутри класса. Для этого в описании класса используется спецификатор раздела private, содержащий данные и методы, доступные только для самого класса. Назначение инкапсуляции: • защита данных, принадлежащих объекту, от возможных ошибок, которые могут возникнуть при прямом доступе к этим данным; • локализация

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

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

технически разных задач. Назначение полиморфизма • Снижение сложности программ на основе разрешения использования одного метода для нескольких взаимосвязанных классов. При этом обращение к одному и тому же методу у объекта-предка и объекта-потомка может привести к разным результатам. Описание класса и объекта: Type <имя класса>=class(<Класс предок>) <поле 1>; <поле 2>; . <поле

N>; <метод 1>; <метод 2>; . <метод M>; end; Var <имя объекта>:<имя класса>; Для каждого элемента класса можно установить разную видимость. Видимость элемента определяет, где в программе и как будет виден данный элемент класса. Для этого в структуре class используются 4 ключевых слова private, protected, public, published. •

Private (частные) определяет данные и методы, доступные только для самого класса. • Public (общедоступные) определяет элементы класса, которые видны в любом месте программы. • Protected (защищенные) определяет данные и методы, доступные из класса и любого его класса-потомка (по умолчанию). • Published (опубликованные) определяет элементы класса, имеющие ту же видимость, что и public-элементы. Единственное отличие заключается в том, опубликованные элементы порождают информацию

о типе времени выполнения (RTTI). Благодаря данной информации, Delphi может осуществить проверку принадлежности элементов объекта тому или иному классу. В Delphi имеется понятие абстрактного класса. Абстрактный класс описывает несуществующий объект. Он нужен для того, чтобы описать некоторые фундаментальные свойства и методы объектов, которые создаются из абстрактного класса. Все объекты в Delphi созданы из абстрактного класса

TObject. Класс T – предок многих простых классов. Этот класс объединяет в себе основные методы, которые свойственны всем объектам Delphi. Пример. Type MyClass = class (TObject) Label1: TLabel; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Procedure MyProc; end; Var MyObject:

MyClass; Объектно-ориентированное программирование – это программирование, которое основано на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию, основанную на принципах инкапсуляции, наследования и полиморфизма. Библиотеки классов Delphi 7 Studio Основные библиотеки компонентов Delphi 7 Studio Для облегчения работы программиста и ускорения создания приложений в стандартную поставку

Delphi 7 Studio входят некоторые готовые классы, которые называются компонентами. Эти компоненты объединены в библиотеки компонентов. Библиотеки компонентов – это хранилища классов, которые обычно состоят из небольших модулей, разделенных по назначению. Основные библиотеки Delphi 7 Studio: • VCL (Visual Component Library) – стандартная библиотека визуальных компонентов

Delphi. • CLX (Component Library for Cross Platform) – библиотека компонентов для межплатформенной разработки приложений. Данная библиотека была создана для объединения средств разработки приложений Delphi и Kylix. Компоненты Библиотека визуальных компонентов, несмотря на свое название содержит в своем составе : • визуальные компоненты – видимые во время выполнения приложения (TButton, TEdit, TLabel и др); • невизуальные компоненты – видимые только на этапе проектирования (TTimer,

TTable, TQuery и др.). Типы компонентов 1. Стандартный Стандартные компоненты включают в себя поведение элементов управления Windows. К таким компонентам относятся TListView, TRichEdit, TImageList и др. Все эти компоненты находятся на вкладке Win32 панели компонентов Delphi. Каждый из этих компонентов представляет собой так называемую оболочку

стандартного элемента управления Windows. Эти компоненты позволяют легко использовать элементы управления Windows в ваших программах. 2. Пользовательский. К пользовательским компонентам относятся все компоненты, которые входят в стандартную библиотеку компонентов Delphi. Эти компоненты добавляются пользователем в существующий набор компонентов. Пользовательские компоненты создаются самостоятельно или приобретаются у других программистов.

3. Графический. Графические компоненты предназначены для создания визуальных элементов управления, которые не могут получать фокус ввода. Обычно такие компоненты применяются для отображения какой-либо информации (текстовой или графической). В качестве примера можно привести TShape, TLabel, TImage и др. 4. Невизуальный. Невизуальные компоненты не видны пользователю во время выполнения приложения, хотя они обладают свойствами, событиями и методами.

Примером такого компонента является TTimer. Структура компонентов Компоненты, как и всякий класс включают в себя поля, свойства, методы и события. 1. Поля Поле компонента – это данные, хранящиеся в компоненте или классе. Поле представляется в виде переменной, которая описывается внутри компонента или класса. 2. Свойства компонентов Свойства компонента предназначены для доступа пользователя к внутренним полям

компонента. Свойства позволяют изменить атрибуты компонента, в том числе и вычисляемыми значениями. Типы свойств Тип свойства Отображение свойств в окне инспектора объектов Простой (Simple) Числовые, символьные и строковые свойства отображабтся соответственно как числа, символы и строки. Разработчик может редактировать значения данных свойств непосредственно в окне инспектора объектов. Перечисляемый (Enumeraded) Свойства перечисляемых типов (включая логические типы) отображаются

в окне инспектора объектов как редактируемые строки. Разработчик может, кроме непосредственного ввода значения свойства, переключать допустимые значения свойства двойным щелчком в поле значения свойства окна инспектора объектов, либо выбрать допустимое значение из раскрывающегося списка. Множество (Set) Свойства типа множество отображаются в окне инспектора объектов как множества.

При помощи двойного щелчка на значении свойства разработчик может расширить множество и установить каждому элементу множества логическое значение (True, если данный элемент входит в множество) Объект (Object) Свойства такого типа часто имеют свой собственный редактор свойств. Свойства типа объект должны быть потомками класса TPersistent Массив (Array) Свойства типа массив должны иметь свой собственный редактор свойств.

Окно инспектора объектов Delphi не поддерживает редактирование свойств данного типа. Разработчик должен при регистрации компонента определить редактор свойств 3. Методы – это процедуры или функции, принадлежащие классу. Методы определяют поведение объекта. 4. Событие (Event) – это механизм, который связывает какое-либо системное изменение или действие пользователя с конкретным кодом, называемым кодом обработчика события

(Event handler). Иерархия визуальных компонентов Все классы и компоненты являются прямыми или косвенными потомками класса TObject. Класс TObject обеспечивает: • Возможность создания, уничтожения и управления экземплярами объектов, а также резервирование памяти и ее освобождение после уничтожения экземпляра; • Поддержку информации об объекте и типах; • Поддержку обработки сообщений. Следующий базовый класс, являющийся прямым потомком

TObject класс TPersistent. Данный клсаа является предком для всех классов, предназначенных для работы с потоками. Класс TPersistent наследует свойства и методы своего предка – класса TObject, и может, кроме того, считывать данные из потока и записывать данные в поток. Класс TPersistent обеспечивает: • Определение процедур для загрузки и помещения данных в поток; • Назначение свойствам объекта конкретных значений; •

Средства для назначения содержимого одного объекта другому. Потомком класса TPersistent является класс TComponent, базовый класс всех компонентов библиотеки VCL. Наследники класса TComponent, как и сам данный класс, имеют следующие возможности: • Способность отражаться на палитре компонентов Delphi, а также способность размещения на форме; • Способность быть обладателем других компонентов и управлять ими; •

Способность быть преобразованным в элемент управления ActiveX или объект Com с помощью мастера. Следующий класс, потомок вышеописанного класса TComponent класс TControl. Этот класс является базовым классом для всех визуальных компонентов, т.е. потомки этого класса будут видны и доступны пользователю во время выполнения приложения. Все классы, являющиеся потомками класса TControl, имеют свойства, методы и события, которые определяют

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

Примерами потомков класса TGraphicControl могут выступать такие компоненты, как TBevel (рамка), TImage (рисунок), TSpeedButton (кнопка быстрого вызова) и другие. Класс TGraphicControl передает своим потомкам свойство Canvas, позволяющее получать доступ к поверхности компонента, на которой можно рисовать или писать. Кроме того, класс TGraphicControl передает своим потомкам метод

Paint. Второй потомок класса TControl – класс TWinControl. Данный класс является базовым классом для всех оконных визуальных компонентов. Оконный визуальный компонент – это компонент, который: • может получать фокус ввода во время выполнения приложения; • может содержать в себе другие компоненты. Компонент, который содержит в себе другие компоненты называется родительским (parent).

Компонент, содержащийся в другом компоненте, называется дочерним (child); • имеет идентификатор окна Windows (handle). Каждый оконный компонент обрабатывается непосредственно операционной системой, поэтому ему назначается свой уникальный идентификатор. Примерами оконных компонентов является TEdit (поле редактирования) и другие. Среда реализации. Главные составные части среды программирования Delphi 7

Studio Ниже перечислены основные составные части Delphi: 1. Главное окно среды Delphi (Main Window) расположено в самом верхнем углу экрана (окно с заголовком Delphi 7 – Project1). 2. Конструктор Форм (Form Designer) – окно, по умолчанию имеющее заголовок Form1. 3. Редактор кода (Code Editor) – окно, по умолчанию имеющее заголовок Unit1.pas. 4. Инспектор Объектов (Object Inspector).

5. Окно представления объектов в виде дерева (Object TreeView). Главное окно Delphi Это меню содержит в себе: Меню главного окна Delphi 7 представляет стандартное меню Windows и служит для работы с файлами проекта, для запуска и отладки проекта, позволяет настраивать среду Delphi и запускать дополнительные утилиты, входящие в состав

Delphi 7. 1. Меню File предназначено для работы с файлами проекта. Данное меню содержит следующие пункты: • New отображает несколько подменю, при выборе любого из них будет создаваться соответствующий новый объект; • Open отображает диалоговое окно открытия существующего проекта или файла проекта; • Open Project отображает диалоговое окно открытия существующего проекта; • Reopen отображает подменю, которое содержит список последних открываемых вами в среде

Delphi файлов и проектов, выбрав любой из них, вы откроете данный файл в среде Delphi; • Save служит для сохранения текущего файла проекта с возможностью задания нового имени данному файлу; • Save Project As открывает диалоговое окно сохранения файлов проекта с возможностью назначения нового имени файлу проекта; • Save All сохраняет все файлы текущего проекта; • Close закрывает открытый в данный момент в редакторе кода файл проекта; •

Close All закрывает все открытые в среде Delphi файлы и проекты; • Use Unit открывает диалоговое окно использования модулей. Если ваш проект содержит несколько модулей, то можно указать используемые в данном модуле другие модули проекта; • Print распечатывает текущий файл на принтере; • Exit закрывает все открытый файлы и завершает работу c

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

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

т.е. свойство Active набора данных установлено в False. Чтобы проверить, можно ли модифицировать набор данных, предусмотрено свойство CanModify. Это свойство имеет значение True, если набор данных можно модифицировать, и False, если нельзя. I. Редактирование набора данных Для редактирования текущей записи набора данных необходимо сначала перевести его в режим редактирования.

Перевод набора данных в состояние редактирования можно осуществить двумя способами: • программно с помощью метода Edit • визуально посредством компонентов, отображающих данные, например, DBGrid, DBEdit, DBMemo и др. Методы, используемые для редактирования набора данных: 1. Метод Edit переводит набор данных в режим редактирования. При этом блокируется доступ к текущей записи других пользователей (временно устанавливается доступ

«только для чтения»). Если запись уже редактируется другим пользователем, то генерируется исключительная ситуация и выполнение метода Edit прекращается. 2. Метод Post сохраняет сделанные изменения в наборе данных. Выполняет следующие действия: 1. Записывает новые данные в физическую таблицу. 2. Снимает блокировку записи. 3. Переводит набор данных в режим просмотра.

3. Метод Cancel предназначен для отмены изменений, сделанных в текущей записи. 4. Метод Refresh заново считывает информацию из набора данных и обновляет содержимое компонентов. После модификации набора данных может возникнуть ситуация, когда изменения не отображаются в визуальных компонентах. В этих случаях необходимо вызвать метод Refresh. Пример. Изменение данных в поле FIO. If Table1.CanModify=True then //если модификация возможна,

то begin Table1.Edit; Table1.FieldByName(‘Fio’).AsString:=Edit 1.Text; Table1.Post; Table1.Refresh; end else // если редактирование невозможно ShowMessage(‘Редактирование невозможно’); Для редактирования текущей записи можно заменить последовательность присваивания значений и вызов метода Post методом SetFields. 5. Метод SetFields(<массив значений>) содержит массив значений, которые присваиваются полям набора

данных. При этом порядок перечисления значений должен соответствовать порядку следования полей в наборе данных. Если значение какого-либо поля нужно оставить без изменений, то в качестве значения указывается nil. После выполнения метода SetFields метод Post выполнять не нужно. Набор данных будет автоматически обновлен и переведен в режим просмотра. Например, Table1.Edit; Table1.SetFields([‘Сидоров’,nil,

3400, nil]); Второе и четвертое поля таблицы Table1 останутся без изменений, а первое и третье заменятся на значения «Сидоров» и 3400 соответственно. II. Добавление записей Добавлять новые записи можно только к модифицируемому набору данных. Для добавления записи следует: 1. Перевести набор данных в режим вставки. 2. Задать значение для полей новой записи. 3. Подтвердить добавление новой записи или отказаться от

нее. Методы, используемее для добавления записей: 1. Метод Insert выполняет следующие действия: • Переводит набор данных в режим вставки записи. • Сдвигает записи на одну вперед, начиная от текущей. • Вставляет на место текущей записи новую пустую запись. Таким образом, новая запись вставляется перед текущей.

Например, Table1.Insert; Table1.FieldByName(‘Fio’).AsString:=Edit 1.Text; Table1.Post; 2. Метод InsertRecord(<массив значений>) Вставляет в текущую позицию курсора новую запись, задавая значения ее полей, как в методе SetFields Table1.InsertRecord([‘Сидоров’,nil, 3400, nil]); 3. Метод Append аналогичен методу Insert за тем исключением, что вставляет новую запись в конец набора

данных, т.е. новая запись будет последней. 4. Метод AppendRecord(<массив значений>) аналогичен методу InsertRecord, но добавляет новую запись в конец набора данных, так же как и метод Append. III. Удаление записей Удалить запись можно только из модифицируемого набора данных. 1. Метод Delete удаляет текущую запись. Если удаление произведено успешно, то текущей становится следующая

запись. Если удалена последняя запись, курсор переместится на предыдущую запись. 2. Метод EmptyTable удаляет все записи из таблицы. Этот метод разрешен только в режиме исключительного доступа к таблице (свойство Exclusive=True) Постановка задачи. Тема: Разработка базы данных «Трудоустройство и публикация резюме» Постановка задачи: Построить систему управления базой данных, содержащей публикации резюме для работодателей.

Описание базы данных. База данных состоит из двух таблиц со следующей структурой: I. Резюме 1. Дата приема заявки (системное время) 2. Предполагаемая должность (берется из второй таблицы) 3. Предыдущие должности: 1 раздел: • Должность (выбирается из того же списка, что и предполагаемая должность) . Стаж работы в этой должности (1 год, 2 года, 3 года,

4 лет, 5 и более лет) 2 раздел: • Должность (выбирается из того же списка, что и предполагаемая должность) • Стаж работы в этой должности (1 год, 2 года, 3 года, 4 лет, 5 и более лет) 3 раздел: • Должность (выбирается из того же списка, что и предполагаемая должность) • Стаж работы в этой должности (1 год, 2 года, 3 года, 4 лет, 5 и более лет) 4. Опыт руководящей работы (варианты: нет, руководство группой, руководство отделом,

руководство подразделением, предприятием) 5. возраст 6. пол 7. минимальная зарплата 8. Тип работы (варианты: постоянная временная) 9. Информация о себе (поле Memo) 10. Контактная информация: • Фамилия • Имя . Отчество • Телефон • E-mail 11. Должности 1. Наименование должности Определение задач: Создать в среде Delphi 7 Studio приложение для работы с этой базой данных.

1. Регистрация заявок 2. Внесение изменений в таблицу «Должности» 3. Поиск кандидатов на должность по предполагаемой должности 4. Отчет о резюме принятых за текущий день (Фамилия, Имя, Отчество, предполагаемая должность, минимальная зарплата). Ход работы. 1. Запускаем программу Delphi 7. 2. Переходим в окно

Конструктор форм. Используя свойство Caption, изменяем слово Form 1 на текст: «Трудоустройство и публикация резюме». 3. Помещаем на форму компонент MainMenu1 вкладки Standard, создаем пункты меню: Регистрация, Должности, Поиск, Отчет. 4. Далее нужно вставить на форму компонент Table1, для того что бы можно было связаться с таблицами базы данных.

5. Так же на форму нужно поместить компоненты: RvProject1 и RvDataSetConnection1, для того что было можно было создавать отчеты по принятым за день Заявлениям. 6. Теперь нужно создать новую форму: Регистрация заявок, здесь можно будет заполнять данные о себе при регистрации на работу. 7. Помещаем на форму компоненты: 22 Label (текст), 9 ComboBox1, здесь можно будет выбирать должности на которых вы хотите работать и

на которых уже работали), 3 Bevel ( рамки), Создаем 2 кнопки: принять и отказаться, с помощью них можно будет либо зарегистрировать свою заявку либо отказаться от нее. 8. Также на форму помещаем компонент DataSource1, для того что бы была связь с таблицей. Еще нужно поместить сюда два компонента Table. Это таблицы на которые будет опираться программа. 9. Теперь создаем еще одну форму Должности, здесь можно будет добавить любые должности било удалить

ненужные. Помещаем на форму компонент DataSource1, для связи с таблицей и саму таблицу Table1 где находятся сами должности. Ставим компонент DBNavigator1, для добавления ,удаления и других операций с должностями. 10. Теперь нужно создать еще одну форму Поиск, здесь можно будет найти нужного кандидата на должность. Помещаем на эту форму 24 компонента Label, 3 компонента

Bevel, 15 компонентов DBEdit, здесь будет находится найденная информация о кандидате ,3 кнопки: Поиск, и две для просмотра: Далее и назад. Компонент ComboBox, по которому можно будет искать кандидатов на нужную должность, компонент DataSource, для связи с таблицей ,и два компонента Table, сами таблицы. 11. Теперь создаем еще одну форму

Отчет при нажатии на Главной странице по кнопке отчет на этой странице будет выводиться отчет по принятым за день объявлениям. Текст программы. (База данных) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, DB, DBTables; type TForm1 = class(TForm)

Table1: TTable; Table2: TTable; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure

TForm1.BitBtn1Click(Sender: TObject); begin Table1.CreateTable; ShowMessage('таблица Резюме создана') end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Table2.CreateTable; ShowMessage('таблица Должности создана') end; procedure TForm1.FormCreate(Sender: TObject); begin end; end. (Главная страница) unit

Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, DBTables, RpCon, RpConDS, RpDefine, RpRave; type TForm1 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Table1:

TTable; RvDataSetConnection1: TRvDataSetConnection; RvProject1: TRvProject; procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure FormCreate(Sender: TObject); private {

Private declarations } public { Public declarations } end; var Form1: TForm1; implementation Uses Unit2, Unit3, Unit4; {$R *.dfm} procedure TForm1.N1Click(Sender: TObject); begin Form2.ShowModal; end; procedure TForm1.N2Click(Sender: TObject); begin Form3.ShowModal; end; procedure TForm1.N3Click(Sender: TObject); Begin Form4.Showmodal; end; procedure

TForm1.N4Click(Sender: TObject); Var s, s1: String; Systime:TSystemTime; i: integer; begin GetLocalTime (Systime); s1:=DateTimeToStr(SystemTimeToDateTime(S ystime)); For i:=1 to 10 do s:=s+s1[i]; ShowMessage('Фомирование отчета по принятым за день объявлениям за '+s); Table1.Filter:='Data='+ +s+ ; Table1.Filtered:=true; RvProject1.Execute; end; procedure TForm1.FormCreate(Sender:

TObject); begin end; end. (Регистрация) object Form1: TForm1 Left = 222 Top = 118 Width = 658 Height = 512 Caption = #1058#1088#1091#1076#1086#1081#1089#1090 #1088#1086#1081#1089#1090#1074#1086' '#1080' '#1087#1091#1073#1083#1080#1082#1072#109 4#1080#1103' '#1088#1077#1079#1102#1084#1077 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText

Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] Menu = MainMenu1 OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object MainMenu1: TMainMenu Left = 600 object N1: TMenuItem Caption = #1056#1077#1075#1080#1089#1090#1088#1072 #1094#1080#1103 OnClick = N1Click end object N2: TMenuItem Caption = #1044#1086#1083#1078#1085#1086#1089#1090 #1080

OnClick = N2Click end object N3: TMenuItem Caption = #1055#1086#1080#1089#1082 OnClick = N3Click end object N4: TMenuItem Caption = #1054#1090#1095#1077#1090 OnClick = N4Click end end object Table1: TTable Active = True TableName = #1041#1072#1079#1072' '#1076#1072#1085#1085#1099#1093 #1056#1077#1079#1102#1084#1077 TableType = ttFoxPro Left = 560 end object RvDataSetConnection1:

TRvDataSetConnection RuntimeVisibility = rtDeveloper DataSet = Table1 Left = 520 end object RvProject1: TRvProject ProjectFile = 'D:Documents and Settings'#1090#1077#1093#1085'2'#1052#10 86#1080' '#1076#1086#1082#1091#1084#1077#1085#109 0#1099 #1050#1091#1080#1084#1086#1074' '#1070#1088#1072 #1050#1091#1088#1089#1086#1074#1072 + #1103' '#1054#1054#1055'Project1.rav' Left = 480 end end (Должности) object Form2: TForm2

Left = 394 Top = 79 Width = 696 Height = 480 Caption = #1056#1077#1075#1080#1089#1090#1088#1072 #1094#1080#1103' '#1079#1072#1103#1074#1086#1082 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate

PixelsPerInch = 96 TextHeight = 13 object Label2: TLabel Left = 48 Top = 136 Width = 42 Height = 13 Caption = #1042#1086#1079#1088#1072#1089#1090 end object Label3: TLabel Left = 72 Top = 160 Width = 20 Height = 13 Caption = #1055#1086#1083 end object Label4: TLabel Left = 24 Top = 184 Width = 71 Height = 13 Caption = #1052#1080#1085' '#1079#1072#1088#1087#1083#1072#1090#107 2

end object Label5: TLabel Left = 32 Top = 208 Width = 59 Height = 13 Caption = #1058#1080#1087' '#1088#1072#1073#1086#1090#1099 end object Label6: TLabel Left = 104 Top = 112 Width = 102 Height = 13 Caption = #1048#1085#1092#1086#1088#1084#1072#1094 #1080#1103' '#1086' '#1089#1077#1073#1077 end object Label7: TLabel Left = 224 Top = 344 Width = 129 Height = 13

Caption = #1050#1086#1085#1090#1072#1082#1090#1085 #1072#1103' '#1080#1085#1092#1086#1088#1084#1072#109 4#1080#1103':' Color = clMenuBar ParentColor = False end object Label8: TLabel Left = 40 Top = 232 Width = 49 Height = 13 Caption = #1060#1072#1084#1080#1083#1080#1103 end object Label9: TLabel Left = 64 Top = 256 Width = 22 Height = 13

Caption = #1048#1084#1103 end object Label10: TLabel Left = 40 Top = 280 Width = 47 Height = 13 Caption = #1054#1090#1095#1077#1089#1090#1074#1086 end object Label11: TLabel Left = 200 Top = 368 Width = 45 Height = 13 Caption = #1058#1077#1083#1077#1092#1086#1085 end object Label12: TLabel Left = 216 Top = 392 Width = 28 Height = 13

Caption = 'E-mail' end object Bevel1: TBevel Left = 304 Top = 32 Width = 305 Height = 73 end object Label1: TLabel Left = 16 Top = 8 Width = 145 Height = 13 Caption = #1055#1088#1077#1076#1087#1086#1083#1086 #1075#1072#1077#1084#1072#1103' '#1076#1086#1083#1078#1085#1086#1089#109 0#1100 end object Label13: TLabel Left = 376 Top = 16 Width = 124 Height = 13

Caption = #1055#1088#1077#1076#1099#1076#1091#1097 #1080#1077' '#1076#1086#1083#1078#1085#1086#1089#109 0#1080 end object Label14: TLabel Left = 312 Top = 40 Width = 48 Height = 13 Caption = '1 '#1088#1072#1079#1076#1077#1083':' end object Label15: TLabel Left = 384 Top = 48 Width = 58 Height = 13 Caption = #1044#1086#1083#1078#1085#1086#1089#1090 #1100 end object

Label16: TLabel Left = 384 Top = 72 Width = 66 Height = 13 Caption = #1057#1090#1072#1078' '#1088#1072#1073#1086#1090#1099 end object Bevel2: TBevel Left = 304 Top = 112 Width = 305 Height = 73 end object Label17: TLabel Left = 312 Top = 120 Width = 45 Height = 13 Caption = '2 '#1088#1072#1079#1076#1077#1083 end object

Label18: TLabel Left = 384 Top = 128 Width = 58 Height = 13 Caption = #1044#1086#1083#1078#1085#1086#1089#1090 #1100 end object Label19: TLabel Left = 384 Top = 152 Width = 66 Height = 13 Caption = #1057#1090#1072#1078' '#1088#1072#1073#1086#1090#1099 end object Bevel3: TBevel Left = 304 Top = 192 Width = 305 Height = 73 end object

Label20: TLabel Left = 312 Top = 200 Width = 45 Height = 13 Caption = '3 '#1088#1072#1079#1076#1077#1083 end object Label21: TLabel Left = 384 Top = 208 Width = 58 Height = 13 Caption = #1044#1086#1083#1078#1085#1086#1089#1090 #1100 end object Label22: TLabel Left = 384 Top = 232 Width = 66 Height = 13

Caption = #1057#1090#1072#1078' '#1088#1072#1073#1086#1090#1099 end object DBEdit1: TDBEdit Left = 96 Top = 136 Width = 121 Height = 21 DataField = 'VOZR' DataSource = DataSource1 TabOrder = 0 end object DBEdit3: TDBEdit Left = 96 Top = 184 Width = 121 Height = 21 DataField = 'MIN_Z_P' DataSource = DataSource1 TabOrder = 1 end object

DBEdit6: TDBEdit Left = 96 Top = 232 Width = 121 Height = 21 DataField = 'FAM' DataSource = DataSource1 TabOrder = 2 end object DBEdit7: TDBEdit Left = 96 Top = 256 Width = 121 Height = 21 DataField = 'IMIA' DataSource = DataSource1 TabOrder = 3 end object DBEdit8: TDBEdit Left = 96 Top = 280 Width = 121 Height = 21

DataField = 'OTCH' DataSource = DataSource1 TabOrder = 4 end object DBEdit9: TDBEdit Left = 248 Top = 360 Width = 113 Height = 21 DataField = 'TEL' DataSource = DataSource1 TabOrder = 5 end object DBEdit10: TDBEdit Left = 248 Top = 384 Width = 113 Height = 21 DataField = 'E_MAIL' DataSource = DataSource1

TabOrder = 6 end object ComboBox1: TComboBox Left = object Label2: TLabel Left = 48 Top = 136 Width = 42 Height = 13 Top = 128 Width = 58 Height = 13 Caption = #1044#1086#1083#1078#1085#1086#1089#1090 #1100 end object Label19: TLabel Left = 384 Top = 152 Width = 66 Height = 13 Caption = #1057#1090#1072#1078' '#1088#1072#1073#1086#1090#1099 end object

Bevel3: TBevel Left = 304 Top = 192 Width = 305 Height = 73 end object Label20: TLabel Top = 24 Width = 145 Height = 21 ItemHeight = 13 TabOrder = 7 end object DBEdit2: TDBEdit Left = 96 Top = 160 Width = 121 Height = 21 DataField = 'POL' DataSource = DataSource1 TabOrder = 8 end object DBEdit4:

TDBEdit Left = 96 Top = 208 Width = 121 Height = 21 DataField = 'TIP_RABOTI' DataSource = DataSource1 TabOrder = 9 end object DBEdit5: TDBEdit Left = 456 Top = 48 Width = 121 Height = 21 DataField = 'DOLJ_1' DataSource = DataSource1 TabOrder = 10 end object DBEdit11: TDBEdit Left = 456 Top = 72 Width = 121 Height = 21

DataField = 'STAJ_1' DataSource = DataSource1 TabOrder = 11 end object DBEdit12: TDBEdit Left = 456 Top = 128 Width = 121 Height = 21 DataField = 'DOLJ_2' DataSource = DataSource1 TabOrder = 12 end object DBEdit13: TDBEdit Left = 456 Top = 152 Width = 121 Height = 21 DataField = 'STAJ_2'

DataSource = DataSource1 TabOrder = 13 end object DBEdit14: TDBEdit Left = 456 Top = 200 Width = 121 Height = 21 DataField = 'DOLJ_3' DataSource = DataSource1 TabOrder = 14 end object DBEdit15: TDBEdit Left = 456 Top = 224 Width = 121 Height = 21 DataField = 'STAJ_3' DataSource = DataSource1

TabOrder = 15 end object BitBtn1: TBitBtn Left = 32 Top = 64 Width = 121 Height = 25 Caption = #1055#1086#1080#1089#1082 TabOrder = 16 OnClick = BitBtn1Click end object Edit1: TEdit Left = 456 Top = 400 Width = 137 Height = 21 TabOrder = 17 end object Edit2: TEdit Left = 200 Top = 400

Width = 121 Height = 21 TabOrder = 18 end object BitBtn2: TBitBtn Left = 248 Top = 352 Width = 75 Height = 25 Caption = #1044#1072#1083#1077#1077 TabOrder = 19 OnClick = BitBtn2Click end object BitBtn3: TBitBtn Left = 400 Top = 352 Width = 75 Height = 25 Caption = #1053#1072#1079#1072#1076

TabOrder = 20 OnClick = BitBtn3Click end object DataSource1: TDataSource DataSet = Table1 Left = 656 Top = 8 end object Table1: TTable Active = True TableName = #1041#1072#1079#1072' '#1076#1072#1085#1085#1099#1093 #1056#1077#1079#1102#1084#1077 TableType = ttFoxPro Left = 624 Top = 8 end object Table2: TTable Active = True TableName = #1041#1072#1079#1072' '#1076#1072#1085#1085#1099#1093 #1044#1086#1083#1078#1085#1086#1089#1090

#1080 TableType = ttFoxPro Left = 624 Top = 40 end end (Отчет) object Form5: TForm5 Left = 182 Top = 182 Width = 696 Height = 480 Caption = 'Form5' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder =

False PixelsPerInch = 96 TextHeight = 13 End Инструкция для пользователя. • Открыть папку с программой. • Найти файл Project1.exe и запустить его. • В открывшемся окне для регистрации перейти на вкладку Регистрация. • На этой вкладке нужно ввести данные о себе, стаж работы и свою предполагаемую должность. Потом нужно нажать кнопку Принять и закрыть окно. •

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

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

так же можно внести любые должности. Так же с помощью этой программы можно найти подходящего кандидата на ту или иную должностью. Можно вывести отчет по принятым за день заявкам о приеме на работу. Литература. 1. Понамарёв В. Delphi Studio 7- Самоучитель; БХВ- Петербург, 2003 2. Гофман В Хомоненко А. Delphi 6. – СПБ.: БХВ- Петербург, 2001 3. Гофман В Хомоненко А.

Работа с базами данных в Delphi. – СПБ БХВ- Петербург, 2000. 4. Карпов Б. Delphi 5: учебный курс. – СПБ.: Питер, 2001.



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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Россия. II половина XVII века. Социально-экономическое развитие
Реферат Английские женщины-путешественницы второй половины XIX века
Реферат Архидамиова война
Реферат Покушение на Рейгана
Реферат «Кто разгадает вас!» (Загадка Софьи в комедии А. С. Грибоедова «Горе от ума».)
Реферат Абеляр П. История моих бедствий
Реферат Определение связанного множества пикселей на бинарном изображении
Реферат Механизм индивидуального преступного поведения
Реферат Источники финансирования (финансовые инструменты)
Реферат Проблемы паремиологических трансформаций современных пословиц и антипословиц
Реферат Тенденции формирования российской модели корпоративного управления
Реферат Реконструкция ОАО Автопарк 6 Спецтранс с разработкой моторного участка
Реферат Informative Speech Essay Research Paper Informative Speech
Реферат Основные направления совершенствования информационной политики администрации Томской области
Реферат Диагностика начальных форм кариеса у детей