Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi.doc
Скачиваний:
29
Добавлен:
28.04.2019
Размер:
407.55 Кб
Скачать

Практическая работа Delphi_11

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

План разработки программы

1. Создадим новую папку, например D:\MyProject\Tabliza.

2. Откроем новое приложение с помощью команды главного меню File|New| Application.

3. На форме Form1 разместим два компонента TrackBar, один - GroupBox, три - Label и один - CheckBox. Компонент CheckBox1 берем со страницы Additional Палитры Компонентов, компонент TrackBar – со страницы Win32, остальные - со страницы Standard.

4. Движки разместим друг под другом, размеры подберем с помощью маркеров изменения размеров. На одном уровне по горизонтали с движками разместим компоненты Label1 и Label2 соответственно.

5. В нижнем правом углу разместим компонент GroupBox, который используем для лучшей фиксации внимания пользователя на результате вычисления. Свойству Caption этого компонента зададим значение ‘Произведение’. Заголовок рамки всегда находится возле ее левого верхнего угла и изменить его положение нельзя.

6. Свойствам Caption компонентов Label, Label2 и Label3 зададим значения ' ', так как в этих окнах будут транслироваться значения сомножителей и результата перемножения. Выровняем правые границы надписей по одной вертикальной линии. Компонент Label3 расположим внутри заготовленной рамки.

7. Для того, чтобы отведенное для чисел место не зависело от длины числа, для всех трех надписей значение свойства AutoSize установим в положение False.

8. Для того, чтобы числа примыкали не к правому, а к левому краю области надписи, установим свойству Alignment значение taRightJustify.

9. Под движками установим компонент CheckBox. Свойству Caption этого компоненту зададим значение ‘Квадрат’. Присвоим также свойству Alignment значение taLeftJustify.

10. Настроим параметры обеих движков, которые должны работать совершенно одинаково.

11. Свойству Min – минимальное значение движка – зададим значение 2, которое достигается при нахождении бегунка на левом краю полосы.

12. Свойству Max – максимальное значение движка – зададим значение 99, которое достигается при нахождении бегунка на правом краю полосы.

13. Свойству Position, которое задает текущее положение бегунка, зададим значение 2. При движении это значение будет изменяться автоматически, первоначально бегунок будет находиться в крайне левом положении.

14. Бегунок не обязательно перетаскивать с помощью мыши, его можно двигать и курсорными клавишами. При этом, значение, заданное движком изменяется на величину, заданную свойством LineSize. Зададим минимальное значение, равное 1.

15. Бегунок также можно двигать клавишами PageUp и PageDn. Тот же эффект дает щелчок левой кнопкой мыши на полосе движка рядом с бегунком. Значение движка при этом изменяется на величину, заданную свойством PageSize. Зададим значение 7.

16. Нам необходимо установить частоту засечек на полосе движка. Свойство Frequency указывает, как плотно будут располагаться засечки на полосе движка. Засечки помогают следить за положением бегунка. Установим здесь также значение 7. В этом случае по щелчку на полосе бегунок будет перепрыгивать от одной засечки к следующей.

17. Перейдем к программированию работы движков.

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

Создадим процедуру-обработчик

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;

Аналогичную процедуру напишем и для второго движка.

  1. Займемся флажком. Создадим процедуру-обработчик щелчка по флажку, при котором положения движков становятся одинаковыми.

Procedure TForm1. CheckBox1Click(Sender: TObject);

begin

TrackBar2. Position := TrackBar1. Position;

end;

19. Сохраните проект, оттестируйте программу, запишите в тетрадь текст программы Unit1.

Задание для самостоятельного выполнения

1. Измените программу, чтобы появилась возможность находить произведения и трехзначных чисел.

2. Измените программу, чтобы вместо произведения вычислялась сумма двух чисел.