Как сделать лабораторную в делфи

Готовые лабораторные работы Delphi 7

Как сделать лабораторную в делфи

1. Вычисление явно заданной функции. Сделать программу,и консольный вариант программы, вычисления значения функции. Реализовать проверку области определения данной функции. Использовать компоненты Label, Edit, Button, BitBtn, LabeledEdit. Нарисовать значок в (ImageEditor) и использовать его в программе. Подобрать соответствующие изображения указателя (Cursor). Сделать возможным изменение прозрачности формы (AlphaBlend). Изменить тип границы формы, параметры шрифта, цвета элементов управления. Использовать подсказки (Hint). Использовать ShowMessage для сообщения об ошибках.

2. Определение принадлежности точки замкнутой области.

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

Использовать компоненты: Image, MainMenu, PopupMenu, Checkbox, RadioButton и ActionList.

Реализовать програмную провверку правильности ввода данных.

3. Вычисление значений конечной суммы ряда.

Задание: Вычислить сумму степенного ряда. Использовать несколько форм. Разместить условия на первой форме, остальные данные и функционал на других формах.

Использовать компоненты: Shape, Bevel, Splitter.

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

4. Обработка одномерных массивов.

Написать программу обращения с вектором данных.

Задание: Делением числовых данных данного вектора на сумму наибольшего и наименьшего. получить новый вектор чисел.

Использовать компоненты: Memo, ListBox.

5. Обработка двумерных массивов(матрицы).

Использовать : PageControl, StringGrid, Закладки, блок try. except.

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

6. Обработка строк.

Работа с данными строкового типа.

Использовать компоненты: ImageList, RichEdit, ToolВаr.

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

7. Нарисовать график заданной функции.

Использовать: OnResize, ClientHeight, ClientWidth, OLEContainer, TEdit, Chart.

8. Создание анимированного изображения.

Требования к программе: Два двигающихся с разной скоростью обьекта. Один как процедура, отрисовав отдельные дуги, линии с помощью метода базовой точки. Второй нарисованный в ImageEditor, изменяя свойства Left и Top поместить в компонент Image. Использовать Timer. Реализовать остановку и изменение направления движения.

Задание: Объекты «Катер» и «Яхта».

9. Работа с типизированными файлами.

Использовать компоненты: OpenDialog, SaveDialog. Создать соответствующие фильтры для этих компонентов.

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

10. Работа с локальной базой данных.

Использовать: Paradox для БД, механизм доступа к данным BDE, DataSource, Table, DataModule, DBGrid, DBNavigator, DBEdit, DBText, Query и DBChart. Реализовать программное изменение текста SQL-запроса.

Задание: Создать БД «Школа», с информацией: фамилия, класс, год рождения учащегося, адрес, телефон. Определить, у скольких учеников есть телефон. Составить списоки учеников заданного класса.

Источник

Методические указания к лабораторным работам по дисциплине «Программирование в среде Delphi»
методическая разработка по теме

Методическая разработка содержит 15 лабораторных работ на темы:

— разработка приложения с компонентами ввода и отображения информации

— использование компонентов для работы со списками

— использование компонентов переключателей

— использование компонентов для создания главного и вспомогательного меню

— использование стандартных диалоговых окон

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

— обработка исключительных ситуаций

-создание справвочной системы приложения

— создание псевдонима базы данных. Работа с полями набора данных. Технология BDE.

— оабота с таблицами. Навигация по набору данных.

— осуществление поиска и фильтрации набора данных.

— поиск данных с помощью статических и динамических запросов.

Скачать:

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

Серпуховский технический колледж

Методические указания к лабораторным работам по дисциплине «Программирование в среде Delphi» специальности «Программное обеспечение вычислительной техники и автоматизированных систем»

Автор Федосеева М.В.

заседании цикловой комиссии

Протокол №____ от «___» __________

Председатель цикловой комиссии:

Методические указания к лабораторным работам по дисциплине «Программирование в среде Delphi» по специальности «Программное обеспечение вычислительной техники и автоматизированных систем» предназначены для студентов 3 курса при выполнении лабораторных работ

Лабораторная работа №1

Тема: Работа с формами.

Цель: Овладеть основными приемами работы с формами

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

Каждая форма имеет две области:

Свойства и методы форм:

— visible – позволяет скрывать и отображать данную форму;

— left, top – задают координаты расположения формы на экране;

— width, height – задают размеры формы;

— active – определяет активность формы;

— clientwidth – возвращает ширину клиентской области;

— clientheight – возвращает высоту клиентской области;

— windowstate – определяет состояние отображаемой формы;

— show – отображает форму в немодальном режиме, при этом свойство visible автоматически устанавливается в True;

— showmodal – отображает форму в модальном режиме;

— hide – скрывает форму;

— close – закрывает форму (форма делается невидимой но не уничтожается);

— destroy – уничтожает форму.

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

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

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

Лабораторная работа №2

Тема: Разработка приложения с компонентами ввода и отображения информации.

Цель: Приобретение практических навыков разработки приложения с использование компонентов Edit, Memo, MaskEdit, Bitbtn, Button, Label.

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

Многострочный редактор – это поле для ввода или отображения информации, которое имеет несколько строк. К ним относится компонент Memo.

Для работы с ним рекомендуется использовать следующие свойства:

Все компоненты редактирования имеют набор общих свойств, методов и событий.

Даны две квадратные матрицы A(n,n) и B(n,n), где n

Лабораторная работа №3

Тема: Использование компонентов для работы со списками.

Цель: Приобретение практических навыков разработки приложения с использование компонентов ListBox, ComboBox.

Список – это прямоугольная область, в которой расположены его элементы. Для работы с простым списком используется компонент ListBox. При необходимости в нем появляются горизонтальные и вертикальные полосы прокрутки. Комбинированный список объединяет поле редактирования и список. Для работы с ним используется компонент ComboBox. Для него свойство Style определяет внешний вид и поведение списка. Свойство DropDounCount определяет количество строк, которые отображаются в раскрывающемся списке. Для простых и комбинированных списков применяют схожие свойства и методы:

По выбранному из списка СomboBox дню недели вывести в список ListBox расписание занятий группы на выбранный день.

На форме расположить:

— 1 компонент ListBox,

— 1 компонент ComboBox,

— 2 компонента BitBtn.Выбор заданного параметра производится из компонента ComboBox. Выбранные данные отображаются в компоненте ListBox.

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

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

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

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

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

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

Написать приложение, которое позволяет работать со списком музыкальных групп. На форме расположено текстовое поле, в которое вводится название группы. Она помещается в список всех групп только в том случае, если там такой группы не существовало. Кнопка «Удалить» позволяет удалять выбранные группы из списка. Кнопка «Результат» помещает все выбранные группы на метку, расположенную на форме.

Лабораторная работа №4

Тема: Использование компонентов переключателей.

Цель: Приобретение практических навыков разработки приложения с использование компонентов RadioButton, GroupBox, CheckBox.

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

Checkbox – это переключатель с независимой фиксацией (или флажок)

RadioButton – это переключатель с зависимой фиксацией. Выбор переключателей взаимоисключающий. Каждый переключатель, помещенный на контейнер, включается в группу. Контейнерами могут быть Form, Panel, GroupBox. Для работы с группой переключателей можно использовать следующие свойства и методы:

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

GroupBox – рамка с заголовком. Может служить для объединения переключателей или флажков по смыслу. Заголовок рамки задает свойство Caption.

Panel – панель, которая имеет край с двойной фаской.

ScrollBox – окно с полосами прокрутки для просмотра информации.

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

Разработать приложение «Тест», в соответствии с вариантом задания. Тест должен содержать 10 вопросов. На каждый вопрос должны быть предусмотрены 3 варианта ответов. По результатам теста проставляется оценка и выводится в информационном окне.

На форме расположить:

— 3 компонента RadioButton,

— 2 компонента BitBtn;

— 1 компонент GroupBox.

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

Тест «Знаете ли Вы историю России?»

Тест «Знаете ли Вы Delphi?»

Тест «Знаете ли Вы русский язык?»

Тест «Любите ли Вы олимпийские игры?»

Тест «Хорошо ли Вы знаете новые компьютерные игры?»

Тест «Хорошо ли Вы знаете направления музыки?»

Тест «Знаете ли Вы названия картин?»

Тест «Знаете ли Вы города России?»

Лабораторная работа №5

Тема: Использование компонентов для создания главного и вспомогательного меню.

Цель: Приобретение практических навыков разработки приложения с использование компонентов MainMenu, PopupMenu, StringGrid.

В Delphi есть два компонента, используемые для создания меню : MainMenu – главное меню и PopupMenu – контекстное меню.

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

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

StringGrid – позволяет хранить и автоматически отображать текстовую информацию.

При выборе пункта «Условие задачи 1» должна появляться форма, на которой расположены условие и рисунок с соответствующим графиком. При щелчке мышью на рисунке должно появляться всплывающее меню, состоящее из двух пунктов: «Показать рисунок», «Скрыть рисунок». (Рисунок области создать в графическом редакторе Paint и вставить на форму как картинку ).

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

При выборе пункта «Условие задачи 2» должна появляться форма, на которой расположены условие задачи.

При выборе пункта «Решение задачи 2» должна появляться форма, на которой должны выводиться таблица значений функции и график заданной функции. (График построить с помощью Excel и вставить на форму как картинку)

При щелчке мышью на таблице должно появляться всплывающее меню, состоящее из 3 пунктов: «Очистить таблицу», «Скрыть таблицу», «Показать таблицу».

По заданным координатам точки M (x,y) определить попадает или нет точка М в заштрихованную область.

Лабораторная работа №6

Тема: Использование стандартных диалоговых окон.

Цель работы: приобретение практических навыков разработки приложений с использованием компонентов OpenPictureDialog, FontDialog, ColorDialog, Open Dialog.

В Delphi имеется ряд диалогов для операционной системы Windows.

OpenDialog – компонент представляет собой стандартное диалоговое окно выбора и открытия файлов.

OpenPictureDialog – предназначен для открытия графических файлов.

FontDialog – предназначен для настройки шрифта и его характеристик.

ColorDialog – предоставляет возможность выбора определенного цвета из палитры.

PopupMenu компонента Image должно содержать пункт вызова окна OpenPictureDialog.

PopupMenu компонента RichEdit должно содержать пункты вызова окна FontDialog и Open Dialog.

PopupMenu формы должно содержать пункт вызова окна ColorDialog

При выборе изображения с помощью компонента OpenPictureDialog в компоненте Image должно отображаться выбранное изображение, одновременно с этим в компоненте RichEdit должна отображаться информация, соответствующая выбранному изображению. И наоборот, при выборе информационного файла с помощью компонента OpenDialog в компоненте RichEdit должна выводится информация из выбранного файла и одновременно в Image загружаться изображение, соответствующее выбранному текстовому файлу. Кроме того, с помощью ColorDialog должно быть предусмотрено смена цвета формы, а с помощью FontDialog, изменение настроек RichEdit.

Каждый визуальный компонент должен быть снабжен всплывающей подсказкой

Напишите программу, использующую 7 изображений.

Лабораторная работа №7

Тема: Использование графических возможностей.

Цель: Приобретение практических навыков разработки приложений с использованием компонентов TChar, TImage, TShape.

Для работы с диаграммами и графика предназначен компонент Char. Работа с данным компонентом осуществляется с помощью редактора Editing Chart. Редактор имеет 5 основных вкладок:

Самым главным свойством компонента Chart является свойство Series[Index] – массив диаграмм, выводимых в области компонента Chart. Это свойство в свою очередь является объектом и обладает набором собственных свойств и методов.

Основные методы объекта Series:

Вычислить n значений функции y=f(x) на отрезке [a,b] и построить график функции. Вычисленные значение должны выводиться на форме в компоненте TStringGrid. График построить с помощью компонента TChar.

Сгенерировать последовательность случайных чисел с заданным законом распределения и построить диаграмму с помощью компонента TChart. Выбор вида диаграммы (круговая или гистограмма) производить с помощью компонента TRadioButton. Сгенерированные значения выводить в компоненте StringGrid.

Лабораторная работа №8

Тема: «Использование компонентов для работы с файлами и каталогами».

Цель: Приобретение практических навыков разработки приложений с компонентами DriveComboBox, DirectoryListBox, FileListBox.

Компоненты для работы с файлами и каталогами:

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

DirectoryListBox – предназначен для отображения дерева каталогов и перемещения по нему

FileListBox – применяется для просмотра списка файлов, содержащихся в определенном каталоге.

Разработать программное приложение, организовывающее с помощью стандартных списков DriveComboBox, DirectoryListBox, FileListBox выбор файлов с заданным расширением (*.doc, *.xls, *.bmp, *.avi, *.wav, *.mid). На форму добавить компонент Image. При перетаскивании имени выбранного файла на компонент Image должна запускаться соответствующая программа (Word, Excel, Paint, универсальный проигрыватель).

Лабораторная работа №9

Тема: «Обработка исключительных ситуаций».

Цель: Приобретение практических навыков обработки исключительных ситуаций.

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

Базовым классом для всех исключений является класс Exeption. Объекты данного класса имеют следующие свойства и методы:

Класс Exeption имеет множество потомков, каждый из которых служит для обработки определенный динамической ошибки.

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

//операторы, выполнение которых может вызвать ошибку

//операторы, которые должны быть выполнены в случае ошибки

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

//операторы, выполнение которых может вызвать ошибку

//операторы, которые должны быть выполнены в случае ошибки

Эта конструкция применяется для перехвата исключительной ситуации и предоставляет возможность ее обработки. Если в операторах секции try возникла исключительная ситуация, то управление передается первому оператору секции exept. Если исключительная ситуация не возникла, то операторы секции Exept не выполняются. Секция exept может быть разбита на несколько частей конструкциями on…do. Это позволяет анализировать класс исключительной ситуации с целью ее обработки.

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

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

Создать программу с “бесконечным” циклом типа while. В цикле увеличивать переменную I до значения, заданного пользователем. При достижении этого значения выходить из цикла с помощью возбуждения исключения EAbort. Выдать сообщение о выходе из цикла в блоке Except. Необходимо поместить на форму кнопку (объект класса TButton), которая запускает цикл; сообщение можно выдать с помощью функции ShowMessage, или поместить на форму метку (объект класса TLabel), в которую помещается сообщение.

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

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

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

Лабораторная работа №10

Тема: «Создание справочной системы приложения».

Цель: Приобретение практических навыков разработки справочной системы приложения.

По центру наберите «Справка по Delphi». Перед выражением вставьте сноску «#sp». Внизу листа в разделе сносок должна также отражаться сноска «#sp». Для того, чтобы перед заголовком не выводился идентификатор заголовка, в сноске «#sp» удалите «sp». Далее перейдите на новую строку и слева наберите следующий текст: «Delphi – это объектно-ориентированная среда программирования, использующая язык Object Pascal. В основе объектно-ориентированного программирования лежит не действие, а объект. Интегрированная среда разработчика обеспечивает проектирование, запуск и тестирование создаваемого приложения. В Delphi интегрированная среда разработчика содержит редактор кодов, отладчик, редактор изображений, наборы инструментов для работы с базами данных и т.д.»

Слово «объект» в данном тексте подчеркните двойной чертой и без пробела укажите скрытый текст «ob».

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

Также как и в предыдущем пункте создайте заголовок со сноской с идентификатором.

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

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

Лабораторная работа №11

Тема: «Создание псевдонима базы данных. Работа с полями набора данных».

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

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

25 символов, индексированное (совпадения допускаются)

25 символов, индексированное (совпадения допускаются)

3 символа, формат «муж/жен»

Краткая форма даты, маска «00.00.0000»

Краткая форма даты, маска «00.00.0000»

Таблица 2 – Telephones

Длинное целое. Не ключевое

10 символов, формат «Рабочий/домашний/мобильный»

Таблица 3 – Doljnost

Длинное целое. Не ключевое

Длинное целое. Не ключевое

Открываем Пуск-Все программы-Borland Delphi 7-BDE Administrator

В меню Object выбираем ODBC Administrator

В открывшемся окне нажимаем на кнопку «Добавить» и выбираем драйвер

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

В AliasName выберите из списка псевдоним вашей БД. В DataBaseName укажите Otdel (Это имя будет использовать приложение для обращения к бд). Установите False в Login Prompt, чтобы приложение не запрашивало пароль при подключении БД. Далее установите True в свойстве Connected.

Лабораторная работа №12

Тема: « Работа с таблицами. Навигация по набору данных».

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

Далее на верхнюю панель поместите три компонента RadioButton с вкладки Standard палитры компонентов. В их свойствах Caption напишите, соответственно, «Адрес», «Телефоны» и «Должность». Переключаясь между ними, пользователь сможет выводить в нижнюю, подчиненную сетку DBGrid нужные данные. Свойству Checked первой радиокнопки присвойте значение True, чтобы включить ее. Раздел с переключателями разделите компонентом Bevel с вкладки Additional палитры компонентов. Его ширину (свойство Width) сделайте равным 2 пикселям, превратив его в вертикальную разделительную полосу.

Далее сделайте раздел поиска, поместив в него обычные Label, Edit и кнопку BitBtn. Этот раздел понадобиться позже.

Вторая и третья панели содержат только по одному компоненту DBGrid из вкладки DataControls палитры компонентов, свойствам Align которых присвоено значение alClient.

Установите на форму четыре панели GroupBox с вкладки Standard, на каждую таблицу свой GroupBox.

Для таблицы LichData: в свойстве Caption компонента GroupBox1 впишите «Личные данные», это название отразится в заголовке панели. Далее на эту панель следует установить девять компонентов DBEdit с вкладки DataControls палитры компонентов, два DBCheckBox для редактирования логических данных, и один компонент DBComboBox для списка. Поясняющие компоненты Label установите и настройте самостоятельно. DBComboBox. Щелкните дважды по свойству Items компонента DBComboBox, открыв редактор. В нем введите две строки:

Сохраните текст, нажав кнопку ОК. Теперь пользователь сможет указать пол сотрудника, выбрав нужную строку из списка.

Для таблицы Doljnost: на панели GroupBox установите два компонента DBEdit и два поясняющих Label.

Для таблицы Adres используйте три DBEdit.

А для таблицы Telephones понадобится один DBEdit, один DBComboBox, сетка DBGrid и кнопка BitBtn. Сетка нужна для контроля введенных телефонов, ведь здесь связь один-ко-многим, и телефонов может быть несколько. В редакторе Items компонента DBComboBox введите три строки:

if DM.TLichData.Modified then

if DM.TTelephones.Modified then

Вначале мы сохраняем измененные значения, если они были. Затем методом Append мы добавляем в таблицу новую запись.

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

if dm.TLichData.Modified then

if DM.TDoljnost.Modified then

if DM.TAdres.Modified then

if DM.TTelephones.Modified then

procedure TForm3.BitBtn3Click(Sender: TObject);

while not dm.TLichData.Eof do

procedure TForm1.BitBtn3Click(Sender: TObject);

while not dm.TLichData.Eof do

if RadioButton1.Checked then

Для события onClick радиокнопки с надписью «Телефоны» код будет таким:

if RadioButton2.Checked then

А для события onClick радиокнопки с надписью «Должность», соответственно, код будет следующим:

if RadioButton3.Checked then

Лабораторная работа №13

Тема: «Осуществление поиска и фильтрации набора данных».

Цель: Ознакомление с механизмами поиска данных, фильтрации записей.

Метод Locate ищет первую запись, удовлетворяющую условию поиска. Если запись найдена, метод делает ее текущей и возвращает True. В противном случае метод возвращает False и курсор не меняет положения. Поле, по которому ведется поиск, не обязательно должно быть индексировано. Однако если поле индексировано, то метод ищет запись по индексу, что значительно ускоряет поиск. Поиск может вестись как по одному полю, так и по нескольким полям. Метод имеет три параметра:

function Locate (const KeyFields: String; const KeyValues: Variant;

Options: TLocateOptions) : Boolean;

Параметр KeyFields задает поле или список полей, по которым ведется поиск. Если имеется несколько полей, их разделяют точкой с запятой.

Третий параметр Options позволяет задать некоторые опции поиска:

Пустой набор [] указывает, что настройки поиска игнорируются. То есть, строка ищется «как есть».

Примеры использования метода Locate:

VarArrayOf([‘Иванов’, ‘Иван’]), [loCaseInsensitive]);

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

function Lookup (const KeyFields: String;

const KeyValues: Variant;

const ResultFields: String) : Variant;

Как вы видите, первые два параметра такие же, как у Locate. А вот третий параметр и возвращаемое значение отличаются. В строке ResultFields через точку с запятой перечисляются поля таблицы, значения которых метод должен вернуть. Возвращаются эти значения в виде вариантного массива. Проблема в том, что вернуться может значение Null, то есть, ничего, или Empty (пустой) и это нужно проверять.

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

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

procedure MLocate(s: string);

В процедуру пропишите следующий код:

procedure TDM.MLocate(s: string);

Таким образом, при нахождении подходящей записи курсор будет перемещаться к ней.

procedure TForm1.Edit1Change(Sender: TObject);

procedure TForm1.BitBtn1Click(Sender: TObject);

if varType(mlookup)=varnull then

showmessage(‘Сотрудник с такой фамилией не найден’)

else if vartype (mlookup)= varEmpty then

showmessage(‘Запись не найдена’)

else if varisarray(mlookup) then begin

procedure TDM.TLichDataFilterRecord(DataSet: TDataSet;

var Accept: Boolean);

procedure TForm1.Edit2Change(Sender: TObject);

if Edit2.text<>‘ ‘ then begin

Лабораторная работа №14

Тема: «Поиск данных с помощью статических и динамических запросов».

Цель: приобретение практических навыков создания программ, позволяющих выполнять поиск записей в базе данных с помощью компонента TQuery.

procedure TForm4.Button1Click(Sender: TObject);

procedure TForm4.Button2Click(Sender: TObject);

procedure TForm4.Button3Click(Sender: TObject);

DM.QDoljn.SQL.Add(‘AND (lichdata.stag BETWEEN ‘+ Edit3.Text+’ AND ‘+ Edit4.Text+’)’);

Лабораторная работа №15

Тема: «Создание отчета».

Цель: приобретение практических навыков создания приложений, позволяющих выполнять просмотр и печать отчетов с помощью Quick Report.

Кадры, по телефонам, по адресам

Далее находится раздел Margins (Границы, края), где можно задать расстояния от краев листа до рабочей части холста. На самом верху окна располагается раздел Paper size (Размер бумаги), где задаются тип листа и его размеры. Данные этих двух разделов можно изменить в Инспекторе объектов в раскрывающем свойстве Page.

Еще следует обратить внимание на свойство Options, которое имеет три параметра:

Свойство PrintIfEmpty разрешает (True) или запрещает (False) печатать отчет, если в нем нет никаких данных.

Свойство ShowProgress разрешает или запрещает показывать индикатор процесса печати отчета. По умолчанию индикатор разрешен.

Свойство SnapToGrid разрешает или запрещает привязывание компонентов к сетке. По умолчанию привязка разрешена.

Свойство Zoom имеет тип Integer и позволяет изменить масштаб отображения отчета при его разработке. Значение 100 указывает, что отчет показывается в 100% от листа бумаги. Изменение этого свойства не влияет на масштаб печати отчета или его предварительного просмотра.

qrsDate (Вывод текущей даты)

qrsDateTime (Вывод текущих даты и времени)

qrsDetailCount (Количество строк формируемой таблицы)

qrsDetailNo (Номер текущей строки таблицы)

qrsPageNumber (Номер текущей страницы отчета)

qrsReportTitle (Заголовок отчета)

qrsTime (Вывод текущего времени)

procedure TForm1.N5Click(Sender: TObject);

qrsHorLine (Горизонтальная линия)

qrsRightAndLeft (Прямоугольник с очерченными левым и правым краями)

qrsTopAndBottom (Прямоугольник с очерченными верхним и нижним краями)

qrsVertLine (Вертикальная линия)

Отчет можно не только распечатать. Его также можно сохранить в специальном формате *.qrp, а затем загрузить в окно предварительного просмотра. Для этого соответственно служат кнопки «Save Report» и «Load Report» на панели инструментов окна предварительного просмотра.

Однако бывают случаи, когда отчет желательно сохранить в каком-нибудь общем формате, например, в текстовом, или html (web-страница). Тогда отчет можно было бы просмотреть в стандартном Блокноте или web-броузере, переслать сотруднику, у которого ваша программа не установлена. На вкладке QReport имеются компоненты, которые позволяют это сделать.

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *