Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 18 ТЕМА- Размещение на форме элементов управления и настройка их св

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

ЛАБОРАТОРНАЯ РАБОТА №18

ТЕМА: Размещение на форме элементов управления и настройка их

             свойств.

ЦЕЛЬ: Научиться размещать на форме различные элементы управления и

            настраивать их.    

Теоретические сведения:

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

Описание программы

Движок — это новый для нас элемент управления. Он состоит из шкалы и движущегося по ней бегунка. Бегунок передвигают методом перетаскивания или при помощи клавиш управления курсором. Для двух сомножителей нам потребуются два движка. Первым движком выбирается первый сомножитель, а вторым второй сомножитель. При этом значение, установленное движком, можно увидеть в поле, которое сделано с помощью объекта Надпись. Значение произведения тоже представлено в виде надписи, но его мы еще особо выделим рамкой. Для перехода от таблицы умножения к таблице квадратов и обратно применим специальный флажок. Когда он включен, второй движок становится ненужным, ведь квадрат числа — это произведение двух одинаковых чисел, а их можно задать и одним движком. Общий вид окна программы должен получиться примерно такой, как показано на рисунке.

Порядок выполнения работы:

1. Запустите систему Delphi и создайте новый проект. Сохраните его в папке Умножение. Значок TrackBar (Движок) для создания движков располагается на панели Win32 палитры компонентов.

Щелкните на этом значке, а затем нарисуйте движок на форме методом протягивания. Движок — довольно крупный объект и занимает много места. Подобрать размер области движка можно с помощью маркеров изменения размеров. Затем поместите на форму второй движок прямо под первым.

В свойстве Caption (Заголовок) формы Form1 измените название формы на Таблица умножения. Изменить фон формы можно выбрав Color формы Form1.

2. Настраиваем движки

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

Min (Минимум). Минимальное значение движка. Оно достигается; когда бегунок находится на левом краю полосы. Зададим здесь значение 2.

Мах (Максимум). Максимальное значение движка — бегунок на правом краю полосы. Зададим для этого свойства значение 99.

Position (Положение). Это свойство задает текущее положение бегунка. При движении оно изменяется автоматически. С его помощью удобно задать начальное положение бегунка. Пусть сначала бегунок находится в крайнем левом положении. Укажем для свойства значение 2.

LineSize (Малое изменение). Бегунок не обязательно перетаскивать с помощью мыши. Его можно двигать и курсорными клавишами: ВЛЕВО и ВПРАВО, ВВЕРХ и ВНИЗ. При этом значение, заданное движком, изменяется на величину, заданную этим свойством. Здесь надо задать минимальное значение: 1.

Frequency (Частота засечек). Это свойство указывает, как плотно будут располагаться засечки на полосе движка. Засечки помогают следить за положением бегунка. Давайте укажем здесь число 7, такое же, как значение свойства PageSize (Постраничное изменение). В этом случае по щелчку на полосе бегунок будет перепрыгивать от одной засечки к следующей.

Для второго движка все настройки задайте точно такими же.

3. Добавляем рамку

Заключим произведение в рамку. Рамка — это новый для нас элемент управления, до сих пор мы таким компонентом не пользовались. Рамка может иметь свой заголовок и окружать группу других элементов управления. Мы добавляем рамку просто для красоты. Для этого служит компонент GroupBox (Рамка). Выберите его на вкладке Standard (Стандартные) палитры компонентов и нарисуйте рамку на форме методом протягивания. Можно сразу поместить ее ниже и правее движков. Позже мы уточним положение рамки. Заголовок рамки, принятый по умолчанию, нам не подходит. Измените свойство Caption (Заголовок). Пусть над рамкой будет написано Произведение. Заголовок рамки всегда находится возле ее левого верхнего угла. Изменить его положение нельзя.

4. Добавляем надписи

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

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

5. Настраиваем надписи

Начнем настройку созданных объектов. Числа, которые должны отображаться в надписях, могут быть однозначными, двузначными, трехзначными и четырехзначными. Хотелось бы, чтобы отведенное им место не зависело от длины числа. Для этого надо, чтобы значение свойства AutoSize (Автоподбор) для всех трех надписей было равно False (Нет).

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

Уточните с помощью маркеров размеры каждой надписи. Еще нам надо изменить их текст. Так как наши движки установлены в крайнее левое положение, начальные значения множителей равны 2, а начальное значение произведения равно, соответственно, 4. Введем нужные значения в свойство Caption (Заголовок) каждой из надписей.

Форма все еще не очень красива, так как наши числа расположены не по центру, а примыкают к левому краю области надписи. Но это легко исправить. Значение свойства Alignment (Выравнивание) для объектов-надписей задать  значение taCenter (Выравнивание по центру).

6. Добавляем и настраиваем флажок

Выберите компонент CheckBox(Флажок) на панели компонентов и нарисуйте флажок под движками. В полученном объекте нас устраивает все, кроме подписи. Поэтому измените свойство Caption (Заголовок) — введите подпись Квадрат. Можно также изменить значение свойства Alignment (Выравнивание). Если выбрать значение taLeftJustify (Выравнивание по левому краю), то метка флажка окажется не справа, а слева от подписи. Теперь форма готова, и мы можем приступать к программированию.

7. Программируем работу движков

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

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

Движок — это как бы счетчик, но не кнопочный, а графический. Его самое важное свойство — текущее положение. При этом совершенно неважно, как было изменено состояние движка: перетаскиванием бегунка или щелчком на полосе, а может быть клавишами ВПРАВО — ВЛЕВО.

Важно только новое значение. Поэтому нам надо обработать событие Change (Изменение). Оно возникает всякий раз, когда положение бегунка меняется. Выберите верхний движок на форме. В окне Инспектора объектов выберите вкладку Events (События). Дважды щелкните напротив события OnChange (При изменении). Наш объект-движок называется TrackBar1. Система Delphi создаст процедуру TrackBar1 Change для обработки этого события.

Наша программа должна менять только надписи, но не надо забывать, что если поменяется хотя бы один из сомножителей, то изменится и произведение. Так, если поменяется положение первого бегунка, то изменять надо свойства надписей Label 1.Caption и Label2.Caption. Аналогично, если изменится положение.

Все это нам знакомо, но здесь есть одна трудность: надпись содержит строку текста, а положение движка — это число. Это не страшно — преобразовать число в строку может стандартная функция IntToStr. Итак, нам надо изменить две надписи, а значит, добавить два оператора.

Для обработки изменения второго движка надо создать аналогичную процедуру-обработчик. Выберите в окне формы движок TrackBar2. С помощью Инспектора объектов создайте обработчик для события OnChange (При изменении).

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

8. Проверяем программу

Самое важное мы уже сделали. Программу можно запустить, нажав клавишу F9. Таблица умножения работает — вычисляет произведение двух целых чисел. Более того, мы уже можем устанавливать и сбрасывать флажок — это его базовая функция. Однако никакого эффекта на работу программы это пока не оказывает.

Флажок надо обработать особо. Сейчас мы этим и займемся. Закройте окно программы щелчком на закрывающей кнопке.

9. Программируем влияние флажка

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

Выберите в раскрывающемся списке в верхней части окна Инспектора объектов объект CheckBox1 (это и есть флажок). С помощью вкладки Events (События) создайте процедуру обработки щелчка CheckBox1CIick. Привести движки к одинаковому виду можно, просто задав положение второго движка таким же, как положение первого. Для этого нужен оператор:

Событие Click (Щелчок) происходит как при установке, так и при сбросе флажка. Но в этом нет ничего страшного, так как при сбросе флажка значения движков уже равны между собой и этот оператор ничего не испортит.

Эта процедура готова. Теперь надо внести изменения в обработчики события Change (Изменение) для движков. Эти процедуры находятся рядом в окне кода.

Выяснить, установлен флажок или сброшен, можно с помощью свойства Checked (Установлен). Оно содержит логическое значение: если флажок установлен — True (Да) , а если сброшен — False (Нет). Мы уже знаем, что для исполнения проверок в программах используется условный оператор:

if CheckBoxl.Checked then

Если флажок установлен, приводим второй движок к значению первого:

TrackBar2.Position   :=   TrackBar1.Position;

Такие же операторы надо вставить и во вторую процедуру обработки. Единственное отличие состоит в том, что теперь первый движок приводится в соответствие со вторым.

if CheckBoxl.Checked then TrackBarl.Position := TrackBar2.Position;

Программа готова

Программа готова. Запустите ее, нажав клавишу F9. Проверьте, как работают движки и как влияет на работу программы установка и сброс флажка. Испытайте разные способы управления движками.

А теперь давайте посмотрим полный текст программы.

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

 Label1.Caption := IntToStr(TrackBar1.Position);

 Label3.Caption := IntToStr(TrackBar1.Position*

                  TrackBar2.Position);

 if CheckBox1.Checked then

  TrackBar2.Position := TrackBar1.Position;

end;

procedure TForm1.TrackBar2Change(Sender: TObject);

begin

 Label2.Caption := IntToStr(TrackBar2.Position);

 Label3.Caption := IntToStr(TrackBar1.Position*

                  TrackBar2.Position);

 if CheckBox1.Checked then

  TrackBar1.Position := TrackBar2.Position;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

  TrackBar2.Position := TrackBar1.Position;

end;

end.

Самостоятельная работа

  1.  Подумайте, что можно изменить в свойствах объектов, чтобы программа могла находить произведения не только двузначных, но и трехзначных чисел, например от 2 до 199.
  2.  Подумайте, что надо изменить в коде программы и как это сделать, чтобы вместо произведения двух чисел наша программа вычисляла их сумму.

Вывод по работе:  

Приложение к лаб.работе 18.

 




1. Проблемы интеграции Турции в Европейский Союз
2. элита Термин элита
3. следственные связи
4. Лекція 7 Шляхи аналізу та подолання конфліктів Пла
5. Культурные аристократы таким образом отделялись от некультурного простого народа
6. Реферат- Животный мир гор
7. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Київ ~ Дисерта
8. Общественное движение в России в первой половине XIX века- а характер движения; б причины подъема
9. Понятие гражданскоправового договора и принципы его заключения
10. Реферат- Хлопкопрядильное производство
11. САНКТПЕТЕРБУРГСКИЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ УПРАВЛЕНИЯ И КОММЕРЦИИ Цикловая комиссия экономики и
12. тема конструкторской документации ОБОЗНАЧЕНИЯ УСЛОВНЫЕ ГРАФИЧЕСКИЕ В СХЕМАХ СИГНАЛЬНАЯ ТЕХНИКА ГОСТ 2
13. 5543381 0995543381 0995543381 0995543381 0995543381 0995543
14. Душа парила ввысь и там звезду нашла~~
15. санитарные правила для специализированных свиноводческих предприятий - - Просмотров- 599 Утвержден
16. канд. техн. Наук Приведены результаты экспериментального исследования процесса трехступенчатого
17. вступают в химические реакции потому что при этом уменьшается энергия системы т
18. Движение тела под действием силы тяжести 9 1
19. Ostdeutschlnd ht in den letzten Jhren enorme Fortschritte gemcht
20. Iorg Ответы на вопросы Толкование Библии Размер шрифта- ~ Толкование Библии Послание к Галатам