Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные работы по Delphi

.docx
Скачиваний:
67
Добавлен:
09.04.2015
Размер:
101.91 Кб
Скачать

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

  1. Разместите на форме компонент TEdit, TListBox и кнопку TButton. У компонента TListBox должно быть 4 опции: вправо, влево, вверх, вниз. По нажатию на кнопку содержимое TEdit должно заполняться соответствующей записью, указанной в TListBox, и перемещаться в нужном направлении (вправо, влево, вверх, вниз).

  2. Создайте приложение, предлагающее пользователю ввести строку, определяющее количество символов в ней и выводящее результат, согласуя окончание слова «символов» с числом символов, например, «В тексте 1 символ», «В тексте 32 символа», «В тексте 47 символов».

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

  • 3 элемента TEdit для ввода данных:

Edit1 - Расстояние, км

Edit2 - Цена бензина (руб/литр)

Edit3 - Потребление бензина (литров на 100 км)

  • Элемент CheckBox1 для расчета "туда и обратно"

  • Кнопку Button1 - Вычислить

Результат вычислений выведите в компонент TLabel.

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

  1. Создайте приложение с компонентом StringGrid, обеспечивающее пользователю возможность ввода значений элементов двумерного массива и выполняющее вычисление суммы элементов массива. Усовершенствуйте предыдущую программу таким образом, чтобы при заполнении массива курсор автоматически переходил в следующую ячейку таблицы по нажатию клавиши <Enter>.

  2. Напишите программу, в которой будет перемещаться изображение по форме. Поместите 4 кнопки TBitBtn и поместите на них изображение стрелок вверх, вниз, влево, вправо. Изображение стрелки на кнопке должно быть выравнено в соответствии с ее указанием (на кнопке Влево - blGlyphLeft и т.д.). При нажатии, например, на кнопку Влево, изображение должно перемещаться на 10 пикселей влево. Когда изображение доходит до края формы, оно должно появляться с другой стороны и не выходить а пределы формы

  3. Напишите программу по вычислению средней стоимости ПК и комплектующих, используя компонент StringGrid. В название столбцов заносите название магазина, в название строки - название ПК и его комплектующих. Также на форме поместите элемент Edit, куда вносится наименование товара, кнопку Добавить в таблицу и компонент TBitBtn - Close.

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

  1. Напишите программу по вводу данных студентов (Фамилия, Имя, Отчество, Дата рождения). Модифицируйте программу таким образом, чтобы в случае записи некорректных данных вызывалась исключительная ситуация с сообщением об ошибке.

Условиями некорректности данных являются: - Запись в свойства Фамилия, Имя или Отчество значения, которое начинается с маленькой буква; - Запись в свойства «Дата рождения» даты, которая не входит в диапазон 15-50 лет в прошлом по отношению к нынешней дате. Для обоих ситуаций создайте собственный класс исключительной ситуации с наследуемым от класса выводом сообщения об ошибке на экран и продолжением выполнения программы.

  1. Напишите программу просмотра картинок времен года. На форме расположите 4 кнопки RadioButton Зима, Весна, Лето, Осень. При нажатии на каждую из них на форму должна загружаться соответствующая картинка из каталога. Посмотрите, что произойдет, если, например, переместить картинку Лето в другой каталог. Доработайте программу таким образом, что если указанный файл будет не обнаружен, на форму будет загружаться любая стандартная картинка.

  2. Создать программу, вычисляющую корни квадратного уравнения (ax2+bx+c=0). Необходимо поместить на форму четыре объекта класса Edit - три для коэффициентов квадратного уравнения, один – для результата и кнопку (объект класса Button), нажимая на которую пользователь выполняет нахождение корней. Исключить ввод символов вместо цифр, получение отрицательного дискриминанта и ввод а = 0. Вывести при всех типах ошибок одно и то же сообщение.

  3. Создать текстовый редактор (блокнот).

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

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

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

TEdit, куда пользователь вводит адрес каталога с картинками;

2 TRadioButton - для выбора формата картинок (bmp, jpg), которые поместите в компонент TGroupBox;

TImage, куда будут выводиться изображения;

TButton - кнопка Дальше.

  1. Написать программу, которая выводит на экран точечный график функции y=0,5x2+4x-3. Диапазон изменения аргумента – от -15 до 5, шаг аргумента – 0,1. График вынести на фоне координатных осей, точка пересечения которых должна находиться в центре экрана.

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

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

- ФИО писателя произведений;

- Годы жизни;

- Биография;

- Фотография писателя.

Таблица Произведения должна привязываться к выбранному писателю и содержит:

- Название;

- Краткое описание.

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

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

  1. Написать программу по добавлению нового подраздела в реестр (HKEY_LOCAL_MACHINE\ Software\"имя_программы"), содержащего ключи трех типов: int, bool, string. Осуществить вывод значений этих ключей.

  2. Создайте простейший ini-редактор, состоящий из двух списков List1 и List2. В первый список заносятся имена секторов, а во второй - переменные, входящие в сектор, и их значения. Осуществите возможность добавления, редактирования и удаления значений переменных.

  3. Написать программу, которая дописывает в файл phone.xml, находящийся на диске, фамилию и номер телефона, например, вашего товарища. Если файла на диске нет, то программа должна создать его. В файле каждый элемент данных (имя, фамилия, телефон) должен находиться в отдельной строке. Осуществить возможность просмотра полного списка контактов, их редактирования.

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

  1. Напишите программу, имитирующую работу калькулятора. Основные функции Сложения, Вычитания, Умножения, Деления поместите в файл .dll.

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

  3. Написать программу, определяющую max/ min введенное число, а также среднее арифметическое всех введенных чисел. Пользователь последовательно через запятую вводит в поле Edit произвольное количество чисел, а затем по нажатию на кнопки получает результат. Функции, отвечающие за поиск max/ min числа и вычисления среднего арифметического расположите в динамически подключаемом файле .dll.

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

  1. Создать класс Payment (зарплата). В классе должны быть представлены поля: фамилия-имя-отчество, оклад, год поступления на работу, процент надбавки, подоходный налог, количество отработанных дней в месяце, количество рабочих дней в месяце, начисленная и удержанная суммы. Реализовать методы: вычисления начисленной суммы, вычисления удержанной суммы, вычисления суммы, выдаваемой на руки, вычисления стажа. Стаж вычисляется как полное количество лет, прошедших от года поступления на работу, до текущего года. Начисления представляют собой сумму, начисленную за отработанные дни, и надбавки, то есть доли от первой суммы. Удержания представляют собой отчисления в пенсионный фонд (1 % от начисленной суммы) и подоходный налог. Подоходный налог составляет 13 % от начисленной суммы без отчислений в пенсионный фонд.

  2. Создайте простую программу, с помощью которой пользователь будет рисовать на экране фигуры (круг, квадрат), разного цвета и с разной толщиной линии, причем можно удалять уже нарисованные фигуры в разной последовательности. Для реализации объявите класс TFigure, который будет содержать общие свойства всех фигур (координаты, цвет, длина(радиус)), а также общий метод Paint(), с помощью которого объект данного класса будет рисовать себя на экране. Создайте два класса-наследника от TFigure - TCircle, TSquare, которые автоматически получат все общие свойства от базового класса TFigure, переопределите метод Paint(). Для каждого из классов он будет свой: объект класса TCircle будет рисовать на экране круг радиуса n, а Tsquare при вызове того же метода Paint() нарисует квадрат с длиной стороны n. Далее создайте класс, который будет иметь методы

а) добавить новый объект на форму

б) удалить

в) перерисовать все, допустим с именем TMyObjects.

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

  1. Необходимо реализовать хранение информации о некоей службе рассылки и ее подписчиках. Каждая запись о подписчике хранит его личные данные и адрес, а также список тем (или каталогов), на которые он подписан. Организуйте информацию о подписчиках в виде объектов с помощью класса TCollection, который реализует всю необходимую функциональность для работы со списками типизированных объектов. Унаследуйте от TCollection новый класс TMailList, а также создайте наследника от TCollectionItem - TMailClient. Последний должен содержать все необходимые данные о подписчике, а также реализовывать необходимые функции для работы с ним.

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

  1. Напишите приложение, с помощью которого можно следить за файлами в указанном каталоге. Пользователь должен выбрать нужную папку, а затем в поле Memo должны отображаться сообщения о состоянии файлов (создание, удаление, редактировании) и время.

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

  3. Напишите программу-проводник, подобную проводнику в Windows с отображением дерева каталогов, возможностью поиска файлов, фильтрации, а также переключаться между режимами отображения.

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

  1. На форме размещена кнопка. По нажатию на нее создается еще две кнопки – одна выше другая правее. По нажатию на каждую из кнопок – аналогично.

  2. Разработать свой компонент на основе компонента TButton, который считает количество нажатий на кнопку.