Практикум по Delphi для решения прикладных задач


         

Компоненты, используемые в графике


Компонент Shape (панель Additional) позволяет на форме создавать разноцветные круги, квадраты, эллипсы. Конкретная форма задается свойством Shape, которое может принимать значения, из списка stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle. Следовательно, форму расположенного на форме объекта можно менять динамически, по нажатию на кнопку:

  procedure TForm1.Button1Click(Sender: TObject);
  begin
   Shape1.Shape := stCircle;
  end;

И цвет соответственно, свойство Color, само вложено в свойство Brush (кисть), поэтому к нему надо обращаться по цепочке: Shape1.Brush.Color := clRed;

У кисти есть подсвойство Style, которое определяет способ "заливки" внутренности объекта - сплошное bsSolid, в решеточку bsCross и т.д. Конкретные значения некоторого свойства можно посмотреть в инспекторе объектов, в выпадающем списке.

Shape1.Brush.Style := bsCross;

Компонент Bevel  позволяет создавать выпуклые/невыпуклые панели, рамки и линии Его главные свойства - Shape и Style.

Компонент Panel (раздел Standard) предназачен для создания декоративных панелей, на которых удобно группировать элементы управления, выделяя их визуально. Панель оформляется с помощью свойств, связанных с внешним видом ее каемки - BorderStyle, BorderWidth, BevelWidth, BevelInner, BevelOuter.

Кроме того, можно использовать кнопки с картинками BitBtn или SpeedButton на панели Additional. Через свойство Glyph можно задать картинку, которая будет показана на самой кнопке.


ПРИЛОЖЕНИЕ 2



Таблица 1.1.  Цвет компонента или объекта (свойство Color)

Значение

Цвет

Значение

Цвет

clBlack

Черный

cIGray

Серый

cIMaroon

Темно-красный

cISilver

Серебряный

cIGreen

Зеленый

cIRed

Красный

clOlive

Оливковый

cILime

Ярко-зеленый

cINavy

Темно-синий

clBlue

Голубой

clPurple

Фиолетовый

clFuchsia

Сиреневый

cITeal

Сине-зеленый

clAqua

Ярко-голубой

clWhite

Белый

Таблица 1.2.  Системные цвета Windows, определяемые цветовой схемой

Значение

Цвет для элемента

clBackground

фон окна

clActiveCaption

заголовок активного окна

clInactiveCaption

заголовок неактивного окна

clMenu

фона меню

clWindow

фон Windows

clWindowFrame

рамка окна

clMenuText

текст элемента меню

clWindowText

текст внутри окна

cICaptionText

заголовок активного окна

clActiveBorder

рамка активного окна

clInactiveBorder

рамка неактивного окна

clAppWorkSpace

рабочая область окна

clHighlight

фон выделенного текста

clHightlightText

выделенный текст

clBtnFace

Кнопка

clBtnShadow

фон кнопки

cIGrayText

недоступный элемент меню

clBtnText

текст кнопки

Таблица 1.3. Базовые свойства Color как шестнадцатеричные константы

Цвет

Значение

Цвет

Значение

Черный

$000000

Синий

$000080

Светло-синий

$0000FF

Зеленый

$008000

Светло-зеленый

$00FF00

Сине-зеленый

$008080

Голубой

$00FFFF

Коричневый

$800000

Светло-красный

$FF0000

Темно-сиреневый

$800080

Сиреневый

$FF00FF

Оливковый

$808000

Светло-желтый

$FFFF00

Темно-серый

$808080

Белый

$FFFFFF

Светло-серый

$С0С0С0

         Таблица 1.4.  Выравнивание компонента внутри формы (свойство Align)

Значение

Расположение компонента

alNone

Без выравнивания на месте размещения при создании программы (значение по умолчанию)

alTop

Перемещение в верхнюю часть формы, ширина компонента становится равной ширине формы (высота не меняется)

alBottom

Перемещение в нижнюю часть формы, ширина становится равной ширине формы (высота не изменяется)

alLeft

Перемещение в левую часть формы, высота компонента становится равной высоте формы (ширина не изменяется)

alRight

Перемещение в правую часть формы,  высота становится равной высоте формы (ширина не изменяется)

alClient

Компонент полностью занимает всю рабочую область формы


Приложение 3

Таблица 2.1.  Функции ввода вывода

Функция

Описание

InputBox (Заголовок, Подсказка, Значение)

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

ShowMessage (s)

Процедура выводит окно, в котором находится сообщение s и командная кнопка Ok.

MessageDlg (s, t, b, h)

Выводит на экран диалоговое окно с сообщением s и возвращает код кнопки, щелчком на которой пользовательзакрыл окно. Параметр t определяет тип окна: mtWarning – Внимание; mtError – ошибка; myInformation – информация; mtConfirmation – запрос; mtCustom – пользовательское (без значка). Параметр b (множество – заключенный в квадратные скобки список констант0 задает командные кнопки диалогового окна (mbYes, mbNo, mbOk, MbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll). Параметр h задает раздел справочной системы программы, который появится в результате нажатия кнопки Help или клавиши <F1>. Если справочная система не используется, значение параметра должно быть 0. Значением функции может быть одна из констант: mbYes, mbNo, mbOk, MbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll, обозначающая соответственную команду.

Таблица 2.2.  Математические функции

Функция

Описание

Abs (n)

Абсолютное значение n

Sqrt (n)

Квадратный корень из n

Sqr (n)

Квадрат n

Exp (n)

Экспонента n

Ln (n)

Натуральный логарифм n

Random (n)

Случайное целое число в диапазоне от 0 до n-1(перед первым обращением к функции необходимо вызвать функцию Randomize, которая выполнит инициализацию программного генератора случайных чисел)

Sin (?)

Синус выраженного в радианах угла ?

Cos (?)

Косинус выраженного в радианах угла ?

Arctan (?)

Арктангенс выраженного в радианах угла ?

Таблица 2.3.  Функции преобразования

Функция

Описание

Chr (n)

Символ, код которого равен n

IntToStr (k)

Строка, являющаяся изображением целого k

FloatToStr (n)

Строка, являющаяся изображением вещественного n

FloatToStr (n, f, k,m)

Строка, являющаяся изображением вещественного n. При вызове функции указывают: f - формат; k - точность; m - количество цифр после десятичной точки. Формат определяет способ изображения числа: ffGeneral - универсальтный; ffExponent - научный; ffFixed - с фиксированной точкой; ffNumber - с разделителями групп разрядов; ffCurrency - финансовый. Точность – нужное общее количество цифр: 7 или меньше для значений типа Single, 15 или меньше для значения типа Double  и 18 или меньше для значения типа Extended

Format (s, [n1, n2, ...])

Строка, являющаяся изображением значений n1, n2 и т.д. Способ преобразования значений в строку символов определяют управляющие символы, которые находятся в строке форматирования s

StrToInt (s)

Целое, изображением которого является строка s

StrToFloat (s)

Вещественное, изображением которого является строка s

Round (n)

Целое, полученное путем округления n по известным правилам

Trunc (n)

Целое, полученное путем отбрасывания дробно части n

Frac (n)

Дробное, представляющее собой дробную часть вещественного n

Int (n)

Дробное, представляющее собой целую часть вещественного n


Приложение 4

Таблица 3.1.  События

Событие

Происходит

OnClick

При щелчке мыши

OnDblClick

При двойном щелчке кнопкой мыши

OnMouseDown

При нажатии кнопки мыши

OnMouseUp

При отпускании кнопки мыши

OnMouseMove

При перемещении мыши

OnKeyPress

При нажатии клавиши клавиатуры

OnKeyDown

При нажатии клавиши клавиатуры.

События OnKeyDown и OnKeyPress  – это чередующиеся, повторяющиеся события. Которые должны происходить до тех пор, пока не будет отпущена удерживаемая клавиша (в этот момент происходит событие OnKeyUp)

OnKeyUp

При отпускании нажатой клавиши клавиатуры

OnCreate

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

OnPaint

При появлении окна на экране в начале работы программы, после появления части окна, которая, например, была закрта другим окном и в других случаях. Событие сообщает о необходимости обновить (перерисовать) окно

OnEnter

При получении элементом управленя фокуса

OnExit

При потере элементом управленя фокуса


Литература

  1. Симонович С.В., Евсеев Г.А. Занимательное программирование: Delphi. – М.: АСТ – ПРЕСС КНИГА: Инфорком – Пресс, 2001.
  2. Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ – Петербург, 2005.
  3. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2003.
  4. Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2005.
  5. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder,  Delphi. - СПб.: БХВ – Петербург, 2005.

Содержание

Введение............................................................................................................................................ 2

1. Идеология объектно-ориентированного программирования................................................. 3

1.1. Элементы интерфейса программы Компоненты................................................................... 3

1.2. Инспектор объектов.................................................................................................................. 7

2. Три основных принципа ООП: наследование, инкапсуляция, полиморфизм...................... 8

3. Использование справки............................................................................................................. 10

4. Структура программы................................................................................................................ 11

5. Методы отладки и борьбы с ошибками................................................................................... 13

Практическая работа № 1 «Моя первая программа».................................................................. 16

Практическая работа № 2 Создание консольного приложения................................................ 17

Практическая работа № 3  «Приветствие».................................................................................. 19

Практическая работа № 4 «Случайный выбор».......................................................................... 21

Практическая работа № 5 Изменение заголовка формы............................................................ 23

Практическая работа № 6 «Двигающая кнопка»........................................................................ 25

Практическая работа № 7 «Альбом»............................................................................................ 26

Практическая работа № 8 Работа с меню..................................................................................... 28

Практическая работа № 9 Случайный выбор из списка............................................................ 31

Практическая работа № 10 Простейший плеер........................................................................... 33

Практическая работа № 11 «Прыгающая кнопка»..................................................................... 35

Практическая работа № 12 «Таблица умножения»..................................................................... 37

Практическая работа № 13 Применение полос прокрутки....................................................... 40

Практическая работа № 14  «Светофор»...................................................................................... 43

Практическая работа № 15 «Ханойские башни»........................................................................ 46

Практическая работа № 16 «Электронный альбом»................................................................... 49

Практическая работа № 17 «Вычисление процентов»............................................................... 52

Практическая работа № 18 «Головоломка № 1»......................................................................... 54

Практическая работа № 19 «Головоломка  № 2»........................................................................ 56

Практическая работа № 20 «Обычный калькулятор»................................................................ 58

Практическая работа № 21  «Строковый калькулятор»............................................................. 61

Практическая работа № 22 Нахождение индекса в массиве случайных чисел....................... 63

Практическая работа № 23 Находение минимального и максимального числа в массиве... 65

Практическая работа № 24 «Текущее время и текущая дата»................................................... 67

Практическая работа № 25 «Электронные часы»....................................................................... 68

Практическая работа № 26 Графика............................................................................................. 70

Практическая работа № 27 «Олимпийский флаг»...................................................................... 75

Практическая работа № 28  «Узоры»........................................................................................... 77

Практическая работа №29 Перемещение рисунка...................................................................... 80

Практическая работа № 30 Рисунок............................................................................................. 83

Практическая работа № 31 Построение графика........................................................................ 86

Практическая работа № 32 «Градусник»..................................................................................... 88

Практическая работа № 33 Вывод табличных данных.............................................................. 92

Практическая работа № 34 «Игра»............................................................................................... 96

Практическая работа № 35 «Тест».............................................................................................. 104

Практическая работа № 36 «Проигрыватель»........................................................................... 109

Приложение 1

1.1. Часто встречающиеся свойства элементов управления, используемые в Delphi........... 133

1.2. Вложенные свойства............................................................................................................. 133

1.3. Списки.................................................................................................................................... 134

1.4. Элементы управления........................................................................................................... 134

1.5. Многострочное поле  Memo................................................................................................. 135

1.6. Компоненты, используемые в графике............................................................................... 135

Приложение 2......................................................................................................................... 137

Таблица 1.1. Цвет компонента или объекта (свойство Color)........................... 137

Таблица 1.2. Системные цвета Windows, определяемые цветовой схемой....... 137

Таблица 1.3. Базовые свойства Color как шестнадцатеричные константы........ 138

Таблица 1.4. Выравнивание компонента внутри формы (свойство Align)........ 137

Приложение 3......................................................................................................................... 139

Таблица 2.1. Функции ввода вывода................................................................ 139

Таблица 2.2. Математические функции............................................................ 139

Таблица 2.3. Функции преобразования............................................................ 140

Приложение 4......................................................................................................................... 141

Таблица 3.1. События....................................................................................... 141

Литература....................................................................................................... 142

 



Содержание раздела