Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
95.doc
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
784.9 Кб
Скачать

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

Ознакомление со средой Delphi.

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

1. Теоретическая часть

1.1 Компоненты страниц STANDARD, ADDITIONAL, WIN 32.

На странице STANDARD палитры компонентов сосредоточены стандартные для Windows интерфейсные элементы, перечисленные в следующей таблице:

Таблица 2

Пикто грамма

Имя

Назначение

MainMenu

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

РорирМепи

Вспомогательное или локальное меню. Обычно это меню появляется в отдельном окне после нажатия правой кнопки мыши.

Label

Метка. Этот компонент используется для размещения в окне не очень длинных однострочных надписей.

Edit

Строка ввода. Предназначена для ввода, отображения или ре­дактирования одной текстовой строки.

Memo

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

Button

Командная кнопка. Обработчик события OnClick этого компо­нента обычно используется для реализации некоторой команды.

Checkbox

Независимый переключатель. Щелчок мышью на этом компо­ненте в работающей программе изменяет его логическое свой­ство Checked.

12

Продолжение таблицы 2

RadioButton

Зависимый переключатель. Обычно объединяется как минимум еще с одним таким же компонентом в группу. Щелчок по пере­ключателю приводит к автоматическому освобождению ранее выбранного переключателя в той же группе.

ListBox

Список выбора. Содержит список предлагаемых вариантов (опций) и дает возможность проконтролировать текущий выбор.

ComboBox

Комбинированный список выбора. Представляет собой комби­нацию списка выбора и текстового редактора.

ScrollBar

Полоса управления. Представляет собой вертикальную или го­ризонтальную полосу, напоминающую полосы прокрутки по бокам Windows-окна.

7

8

GroupBox

Группа элементов. Этот компонент используется для группи­ровки нескольких связанных по смыслу компонентов.

RadioGroup

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

Panel

Панель. Этот компонент, как и GroupBox, служит для объедине­ния нескольких компонентов. Содержит внутреннюю и внеш­нюю кромки, что позволяет создать эффекты «вдавленности» и «выпуклости».

ActionList

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

В страницу ADDITIONAL помещены 14 дополнительных компонентов, с помощью которых можно разнообразить вид диалоговых окон.

Таблица 3.

Пиктограмма

Имя

Назначение

BitBtn

Командная кнопка с надписью и пиктограммой.

SpeedButton

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

MaskEdit

Специальный текстовый редактор. Способен фильтровать вво­димый текст, например, для правильного ввода даты.

StringGrid

Таблица строк. Этот компонент обладает мощными возможно­стями для представления текстовой информации в табличном виде.

DrawGrid

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

Image

Рисунок. Этот компонент предназначен для отображения ри­сунков, в том числе пиктограмм и метафайлов.

13

Продолжение таблицы 3

Shape

Фигура. С помощью этого компонента вы можете вставить в окно правильную геометрическую фигуру - прямоугольник, эллипс, окружность и т.п.

Bevel

Кромка. Служит для выделения отдельных частей окна трех­мерными рамками или полосами.

ScrollBox

Панель с полосами прокрутки. В отличие от компонента Panel

автоматически вставляет полосы прокрутки, если размещенные в нем компоненты отсекаются его границами.

CheckList

Box

Список множественного выбора. Отличается от стандартного компонента ListBox наличием рядом с каждой опцией независи­мого переключателя Типа CheckBox, облегчающего выбор сразу нескольких опций.

Splitter

Граница. Этот компонент размещается на форме между двумя другими видимыми компонентами и дает возможность пользо­вателю во время прогона программы перемещать границу, от­деляющую компоненты друг от друга.

StaticText

Статический текст. Отличается от стандартного компонента Label наличием собственного Windows-окнй, что позволяет об­водить текст рамкой или выделять его в виде «вдавленной» час­ти формы.

ControlBar

Полоса управления. Служит контейнером для «причаливаемых» компонентов в технологии Drag&Dock.

Chart

Диаграмма. Этот компонент облегчает создание специальных панелей для графического представления данных.

Страница WIN 32 содержит интерфейсные элементы для 32- разрядных операционных систем Windows 95/98/NT/2000/ХР.

Таблица 4.

Пикто­грамма

Имя

Назначение

TabControl

Набор закладок. Каждая закладка представляет собой прямо­угольное поле с надписью и/или текстом. Выбор той или иной закладки распознается программой и используется для управ­ления содержимым окна компонента.

PageControl

Набор панелей с закладками. Каждая панель может содержать свой набор интерфейсных элементов и выбирается щелчком по связанной с ней закладке.

ImageList

Набор рисунков. Представляет собой хранилище для несколь­ких рисунков одинакового размера.

RichEdit

Многострочный редактор форматированного текста. В отличие от компонента Memo страницы Standard текст в компоненте RichEdit подчиняется правилам Расширенного Текстового Формата (RTF-Rich Text Format) и может изменять такие свои характеристики, как шрифт, цвет, выравнивание и т.д.

TrackBar

Регулятор. Используется для управления значениями некото­рых величин в программах. Например, с его помощью удобно изменять громкость звучания в мультимедийных программах.

ProgressBar

Индикатор процесса. С помощью этого компонента можно отображать ход исполнения достаточно длительного по време­ни процесса, например, процесса переноса данных на дискету.

14

Продолжение таблицы 4

UpDo\vn

Цифровой регулятор. Две кнопки этого компонента предназна­чены для увеличения (верхняя) или уменьшения (нижняя) свя­занной с компонентом числовой величины.

HotKey

Управляющая клавиша. Компонент используется для ввода управляющих клавиш, таких как Fl, Alt+A, Ctrl+Shift+1 и т.п.

Animate

Мультипликатор. Предназначен для отображения последова­тельно сменяющих друг друга кадров движущихся изображе­ний (видеоклипов). Компонент не может сопровождать видео­клип звуком.

DateTime-Picker

Селектор времени/даты. Этот компонент предназначен для ввода или отображения даты или времени.

Tree View

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

List View

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

Header-Control

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

StatusBar

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

ToolBar

Инструментальная панель. Этот компонент служит контейне­ром для командных кнопок BitBtn и способен автоматически изменять их размеры и положение при удалении кнопок или при добавлении новых.

CoolBar

Инструментальная панель. В отличие от ToolBar используется как контейнер для размещения стандартных интерфейсных компонентов Windows, таких как Edit, ListBox, ComdoBox и т.д.

Page

Scroller

Прокручиваемая панель. Служит для размещения узких инст­рументальных панелей. При необходимости автоматически создает по краям панели стрелки прокрутки.

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

1.5 Некоторые свойства компонентов.

Общие свойства.

Caption-заголовок;

Name -имя(Это имя будет фигурировать в тексте кода программы. Delphi сама дает имена компонентам, но для удобства их рекомендуется поменять);

  • Свойства положения, размеров и оформление компонентов.

Height-высота;

Left-положение левой кромки;

Top-положение верхней кромки;

15

Width- ширина;

Align-свойство, определяющее выравнивание положения компонента относительно контейнера, в котором он размещен. Это свойство имеет следующие значения:

alNone- нет свойства;

alTop- прижатие к верхней кромке;

alBottom- нижней;

alLeft- левой;

alRight- правой;

alClient- заполнение всего не занятого другими компонентами места.

Visible- определяет видимость компонента.

Enabled- определяет возможность активизации компонента.

Font- задаваемый шрифт.

Alignment- регулирует расположение текста относительно границ компонента:

taLeftJustify- прижать к левой границе;

taRidhtJustify - прижать к правой границе;

taCenter- расположить по центру.

Ctl3d- реализует объемность изображения.

Color-цвет, который заливает видимую часть.

Установка цвета, объемности, шрифта и подсказки как у родителя.

Anchors- фиксирует дочерний компонент относительно границ контейнера, в котором он размещен.

  • Свойства справочной службы.

Hint-строка символов, представляющая собой всплывающую подсказку;

ShowHint- разрешение отображения подсказки;

HintColor-цвет фона ярлычка.

Свойства компонентов страницы STANDARD.

  • Label-метка для отображения текста.

A

14

utoSize: Указывает, будет ли метка изменять свои раз

меры в зави­симости от помещенного в ее свойство Cap

tion текста: True -будет.

Layout: Определяет выравнивание текста по вертикали относитель­но границ метки: tITop - текст располагается вверху; tICen­ter - текст центрируется по вертикали; tIBottom - текст располагается внизу.

Wordwrap Разрешает/запрещает разрыв строки на границе слова. Для вывода многострочных надписей задайте AuroSize=False, WordWrap=True и установите подходящие размеры метки.

16

Transparent:Определяет прозрачность фона метки. Если False, фон закрашивается собственным цветом Color, в противном случае используется фон родительского компонента.

  • Edit- строка ввода.

AutoSize: Если содержит True и BorderStyle=bsSingle, высота компонента автоматически меняется при изменении свойства Font.Size.

BorderStyle Определяет стиль обрамления компонента: bsNone -нет обрамления; bsSingle - компонент обрамляется одной линией

CharCase Определяет автоматическое преобразование высоты букв: ecNormal - нет преобразования; ecUpperCase -все буквы заглавные; ecLowerCase - все буквы строч­ные. Правильно работает с кириллицей.

MaxLength: Определяет максимальную длину текстовой строки. Если имеет значение 0, длина строки не ограничена.

Modified: Содержит True, если текст был изменен.

OnChange: Определяет обработчик события OnChange, которое возникает после любого изменения текста.

SelLength: Содержит длину выделенной части текста.

SelText: Содержит выделенную часть текста.

Text: Содержит весь текст.

  • Memo- ввод и отображение текста.

ScrollBars: Определяет наличие в окне редактора полос про­крутки: ssNone - нет полос; ssHorizontal - есть горизонтальная полоса; ssVertical - есть верти­кальная полоса; ssBoth - есть обе полосы.

WantReturns: Если содержит True, нажатие Enter вызывает переход на новую строку, в противном случае -обрабатывается системой. Для перехода на новую строку в этом случае следует нажать Ctrl+Enter.

WantTabs: Если содержит True, нажатие Tab вызывает ввод в текст символа табуляции, в противном случае -обрабатывается системой. Для ввода символа табуляции в этом случае следует нажать Ctrl+Tab.

Lines: Содержит строки текста.

CaretPos: Содержит координаты мигающего текстового курсора относительно границ клиентской области компонента

  • Button-кнопка.

Cancel: Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Esc.

Default: Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Enter.

  • CheckBox-независимый переключатель.

AllowGrayed: Разрешает/запрещает использование состояния cbGrayed (He знаю).

Caption: Содержит связанный с компонентом текст.

Checked: Содержит выбор пользователя типа Да/Нет. Состояния cbUnchecked и cbGrayed отражают­ся как False.

17

State: Содержит состояние компонента: cbUnchecked - нет; cbChecked - да; cbGrayed не знаю.

  • ScrollBar-управление значением величины.

K

16

ind: Определяет ориентацию компонента: sbHori­zontal -

бегунок перемещается по горизонтали; sbVertical - бегунок перемещается по вертикали.

LargeChange: «Большой» сдвиг бегунка (при щелчке мышью рядом с концевой кнопкой).

Max: Максимальное значение диапазона изменения числовой величины.

Min: Минимальное значение диапазона изменения числовой величины.

Position: Текущее значение числовой величины.

SmallChange: «Малый» сдвиг бегунка (при щелчке мышью по концевой кнопке).

  • Panel-панель.

BorderStyle: Определяет стиль рамки: bsNone - нет рамки; bsSingle - компонент по периметру обводится линией толщиной в 1 пиксель.

FullRepaint: Разрешает/запрещает перерисовку панели и всех ее дочерних элементов при изменении ее размеров.

Некоторые свойства страницы ADDITIONAL.

BitBtn-кнопка с изображением.

Glyph: Определяет растровое изображение кнопки.

(Delphi содержит в каталоге Borland/ Borland Chared/Images/Buttons много пиктографических изображений кнопок.)

Kind: Определяет разновидность кнопки

Layout: Определяет край кнопки, к которому прижима­ется пиктограмма: bIGlyphLeft - к левому; bIGlyphRight - к правому; bIGlyphTop - к верх­нему; biGlyphBottom - к нижнему.

Margin: Определяет расстояние в пикселях от края кнопки до пиктограммы.

Spacing: Определяет расстояние в пикселях от пикто­граммы до надписи на кнопке.

Style: Определяет стиль оформления кнопки, завися­щий

от операционной системы. Стиль bsNew соответствует 32-

разрядным версиям Windows. Стиль bsAutoDetect изменяет оформление кнопки в зависимости от ОС, под управлением которой работает программа в данный момент.

2. Лабораторные задания и методические указания по их выполнению

Необходимо решить задачу: реализовать функцию Y=A+B, при этом должен быть предусмотрен ввод А и В с клавиатуры и с помощью генератора случайных чисел.

18

Для решения этой задачи надо сконструировать форму

19

20

изображенную на рисунке 1. Это осуществляется следующим образом на свободном месте формы разместить панель (Panel) из страницы STANDARD. На панели расположить три строки ввода (Edit), напротив них три метки (Label), находящиеся тоже на этой же странице. Внизу расположите три кнопки с пиктограммой (BitBtn) из страницы ADDITIONAL. В самый низ поместить панель состояния (Status Bar) из страницы WIN32.

У данных компонентов в Инспекторе Объектов установите следующие свойства:

Form: caption "Лабораторная работа № 1";

Panel: Align alClient;

Label1(первая метка): Сaption "Ввод А";

Label2(вторая метка): Сaption "Ввод В";

Label 3(третья метка): Сaption "Результат";

Status Bar: Align alBottom;

BitBtn1: Kind bkOK;

BitBtn2: Kind bkCustom; Caption "ГСЧ"

BitBtn3: Kind bkClose;

При выполнении двойного щелчка на кнопке Delphi создает заготовку подпрограммы для реализации события OnClick (по щелчку).

Для решения данной задачи понадобятся следующие функции:

S

17

18

trToFloat(Имя).Text, где имя- имя строки ввода, которое устанавливается свойством Name инспектора объектов. Данная

функция переводит строку символов, содержащуюся в строке

ввода в вещественное число.

FloatToStr (А), где А- вещественная переменная. Функция, обратная предыдущей.

Randomize Подключает Генератор случайных чисел.

Random(B), где В- целое число, задающая диапазон из которого выбирается случайное число. Выбирает случайное целое число.

Как только вы нажмете F9- компиляция, появится диалоговое окно Save Unit1 AC, в котором Delphi попросит указать имя файла для модуля Unit1.pas и папку его размещения (По умолчанию Delphi предлагает разместить файл модуля и проекта в системной папке BIN) Обязательно! измените ее на вашу рабочую папку.(Например IVANOV_DELPH)

Лучше не идти на поводу у Delphi и не соглашаться с предложенным именем Unit1.pas, а присвоить модулю какое- нибудь свое имя, например инициалы студента IPN.

Затем Delphi попросит задать имя еще для проекта программы Под этим именем будет создан исполняемый EXE файл, например FIRSTPGM.

Чтобы открыть ранее созданную форму надо из опции File выбрать Open и выбрать имя модуля программы.

После отладки программы и показа ее преподавателю необходимо на форме:

  1. Поменять пиктографическую картинку на первой кнопке;

  2. Поменять шрифт и цвет надписи на второй кнопке;

  3. Сделать кнопку Close недоступной;

19

  1. Подключить всплывающую подсказку на все три кнопки;

  2. Сделать цвет метки зеленым;

  3. Сделать третью строку ввода плоской;

  4. Панель обвести рамкой;

  5. Все три кнопки зафиксировать относительно левого и нижнего края панели;

  6. Сделать первую строку ввода невидимой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]