- •Оглавление
- •20.1. Практическая работа 83
- •Глава I. Знакомство со средой Delphi
- •1.1. Общие сведения
- •Глава II. Создание приложений в среде Delphi
- •2.1. Характеристика проекта
- •2.2. Файл проекта
- •2.3. Файл формы
- •2.4. Файл модуля
- •2.5. Файл ресурсов
- •2.6. Практическая работа
- •Глава III. Использование компонентов
- •3.1. Понятие компонента
- •3.2. Страница Standard.
- •3.3. Страница Additional.
- •3.4. Страница Win32.
- •3.5. Страница System.
- •3.6. Страница Data Access.
- •3.7. Страница Data Controls.
- •3.8. Страница qReport.
- •3.9. Страница Dialogs.
- •3.10. Основные свойства объектов.
- •Глава IV. Работа с кнопками
- •4.1. Стандартная кнопка Button.
- •4.2. Кнопка с рисунком BitBtn.
- •4.3. Кнопка быстрого доступа SpeedButton.
- •4.4. Практическая работа
- •4.5. Самостоятельная работа
- •Глава V. Поля редактирования
- •5.1. Edit-однострочный редактор
- •5.2. Memo-многострочный редактор
- •5.3. Практическая работа
- •5.4. Самостоятельная работа
- •5.5. MaskEdit - специальный редактор
- •5.6. Практическая работа
- •6.3. Структура программы.
- •6 .4. Типы данных
- •6.4.1. Простые типы данных
- •6.4.2. Структурные типы данных
- •6.4.3. Функции и процедуры работы со строками
- •6.4.4. Функции преобразования строк в другие типы.
- •6.5. Операторы языка
- •6.6. Практическая работа.
- •6.8. Самостоятельная работа
- •6.9. Самостоятельная работа
- •6.10. Самостоятельная работа
- •6.11. Обработка исключительных ситуаций
- •Глава VII. Классы в Object Pascal.
- •7.1. Понятие класса
- •7.2. Поля класса
- •7.3. Методы класса
- •Глава VIII. Процедуры и функции, реализующие диалоги
- •8.1. Процедура ShowMessage.
- •8.2. Функция MessageDlg.
- •8.3. Функция MessageDlgPos.
- •8.4. Функция InputBox
- •9.2. Практическая работа
- •9.3. Самостоятельная работа
- •Глава X. Работа со списками
- •10.1. Простой список ListBox.
- •10.2. Комбинированный список ComboBox.
- •10.3. Общая характеристика списков
- •10.3.1. Свойства
- •10.3.2. Методы
- •10.4. Объект UpDown
- •10.5. Практическая работа
- •10.6. Самостоятельная работа
- •10.7. Самостоятельная работа
- •10.8. Самостоятельная работа
- •Глава XI. Объекты MainMenu и PopupMenu.
- •11.1. Основные свойства объектов
- •11.2. Игра «Крестики-нолики»
- •11.3. Самостоятельная работа
- •Глава XII. Использование переключателей.
- •12.1. Объект CheckBox
- •12.2. Объект RadioButton
- •12.3. Объект RadioGroup
- •12.4. Практическая работа
- •12.5. Самостоятельная работа
- •12.6. Самостоятельная работа
- •Глава XIII. Регуляторы величины
- •13.1. Объект ScrollBar
- •13.2. Практическая работа
- •13.3.Объект TrackBar
- •13.4. Самостоятельная работа
- •13.5. Самостоятельная работа
- •13.6. Компонент ProgressBar
- •Глава XIV. Объединение элементов управления
- •14.1. Объект Panel.
- •14.2. Область прокрутки ScrollBox
- •14.3. Фреймы Frame.
- •14.4. Практическая работа
- •14.5. Самостоятельная работа
- •Глава XV. Работа с таблицами
- •15.1. Объекты StringGrid и DrawGrid
- •15.2. Проект «Олимпиада»
- •15.3. Практическая работа
- •15.4. Самостоятельная работа
- •15.5. Самостоятельная работа
- •Глава XVI.Страница Dialogs
- •16.1. Стандартные диалоговые окна Windows
- •16.2. Общие свойства OpenDialog и SaveDialog:
- •16.3. Общие свойства OpenPicyureDialog и SavePictureDialog:
- •16.4. Практическая работа
- •16.5.Объект FontDialog
- •16.6. Объект ColorDialog
- •16.7. Практическая работа
- •16.8. Объекты FindDialog и ReplaceDialog
- •16.9. Проект «Примитивный редактор текста»
- •Глава XVII. Элементы с закладками
- •17.1. Однострочный блокнот TabControl.
- •17.2. Практическое задание
- •17.3. Самостоятельная работа
- •17.4. Многостраничный блокнот PageControl.
- •17.5. Практическая работа
- •Глава XVIII. Иерархические структуры
- •18.1. Объект TreeView
- •18.2. Практическая работа
- •18.3. Самостоятельная работа
- •18.4.Объект ListView
- •18.5. Практическое работа
- •Глава XIX. Работа с датами и временем
- •19.1. Объект DateTimePicker
- •19.2. Объект MonthCalendar
- •19.3. Объект Calendar.
- •19.4. Самостоятельная работа
- •19.5. Объект Timer
- •19.6. Практическая работа
- •19.7. Самостоятельная работа
- •Глава XX. Объект Animate
- •20.1. Практическая работа
- •20.2. Игра «угадай число»
- •Глава XXI. Панели инструментов
- •21.1. Объект ToolBar.
- •21.2. Объект ControlBar
- •21.3. Создание текстового редактора с использованием объекта RichEdit
- •Глава XXII. Графика в Delphi
- •22.1. Класс tCanvas
- •22.2. Класс tFont.
- •22.3. Класс tPen.
- •22.4. Класс tBrush
- •22.5. Класс tGraphic
- •22.6. Класс tPicture
- •22.7. PaintBox - окно для рисования
- •22.8. Практическая работа
- •22.9. Практическая работа
- •22.10. Самостоятельная работа
- •22.11. Объект Shape
- •22.12. Самостоятельная работа
- •22.13. Создание графического редактора
12.4. Практическая работа
Создадим тест, который будет обрабатывать ответы пользователя и выводить конечный результат в виде оценки: «5», «4» и т.д. Создайте пять форм, содержащих вопрос и предполагаемые ответы, и кнопку «Далее», например
Опишите в разделе описания переменных модуля первой формы переменную i целого типа, чтобы она была доступна остальным модулям нашего проекта.
В разделе USES каждого модуля в список подключаемых модулей добавьте слово unit1, это будет говорить о том, что данные модули используют Unit1.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, unit1;
Теперь вернемся на первую форму и напишем процедуру по нажатию на кнопку «Далее»…
Следует учесть, что пользователь может и не ответить на вопрос. В нашем случае правильный ответ номер 2 «нет крыльев». Для компонента RadioGroup это строка имеет номер 1 (свойство ItemIndex), так как нумерация начинается с нуля. В переменной i будем накапливать количество правильных ответов.
Таким образом, процедура по нажатию на кнопку «Далее» выглядит следующим образом:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if radiogroup1.ItemIndex= ‑1 then // если не ответили на вопрос
showmessage('Забыли ответить на вопрос!')
else
begin
if radiogroup1.ItemIndex=1 then i:=i+1;//счетчик правильных ответов увеличили
form1.close;/закрыли первую форму
form2.show;//вызвали форму со следующим вопросом
end;
end;
Обработайте таким образом все остальные вопросы. Не забудьте, что после ответа на последний вопрос, пользователю предоставляется сообщение о набранных баллах.
Определите, сколько в вашем тесте нужно правильных ответов, чтобы получить «5», «4», и т.д.
case i of
0,1,2:Showmessage (‘Вы получили 2’)
3: Showmessage (‘Вы получили 3’)
4: Showmessage (‘Вы получили 4’)
5: Showmessage (‘Вы получили 5’)
end;
12.5. Самостоятельная работа
Создайте программу вычисления площади треугольника по известным параметрам (по трем сторонам, по двум сторонам и углу между ними и по стороне и двум прилежащим к ней углам)
12.6. Самостоятельная работа
Разработать программу, с помощью которой пользователь мог бы выполнить следующее. После запуска программы появляется изображение, аналогичное рисунку. Пользователь по своему усмотрению выбирает один переключатель в группе (после этого группа становится недоступной для предотвращения повторного выбора). Каждому переключателю соответствует определенный балл. После выбора в последней группе в зависимости от суммы набранных баллов появляется одно из сообщений “Вы пессимист”, “Вы реалист” или “Вы оптимист”.
Глава XIII. Регуляторы величины
13.1. Объект ScrollBar
Компонент ScrollBar представляет собой стандартный для Windows управляющий элемент, использующийся для визуального управления значением числовой величины.
Свойства компонента:
Свойство |
Значение |
Kind |
Определяет ориентацию компонента: SbHorizontal – бегунок перемещается по горизонтали SbVertical – бегунок перемещается по вертикали |
Max |
Максимальное значение диапазона изменения числовой величины |
Min |
Минимальное значение диапазона изменения числовой величины |
Position |
Текущее значение числовой величины |
С помощью метода
SetParams(Position, Max, Min); можно сразу установить свойства Position, Max, Min.
С компонентом связано два события: OnScroll – возникает при любом изменении cсвойства Position; OnChange – возникает при изменении параметров методом SetParams.
