Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков.





 

Создайте еще один метод формы TForm1 - функцию Image1.Shape для проверки расположения рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).

 

function TForm1.Image1.Shape (Image: TImage; Shape: TShape): Boolean;

Begin

if (Image.Left >= Shape.Left) and

(Image.Left+Image.Width <= Shape.Left+Shape.Width) and

(Image.Top >= Shape.Top) and

(Image.Top+Image.Height <= Shape.Top+Shape.Height)

then Image1.Shape:=True {Рисунок есть в середине фигуры}

else Image1.Shape:=False; {Рисунок есть вне фигуры}

end;

 

Функция Image1.Shape является методом класса Form1, поэтому обращение к свойствам любых объектов формы Form1 осуществляется непосредственно с помощью имени этих объектов, например, Image.Top. Объявление функции вставьте в раздел описания формы type Tform1 в секцию деклараций общедоступных процедур после ключевого слова public:

 

function ImageInShape(Image:TImage; Shape:TShape):Boolean:

 

11. 3апрограмуйте кнопку "Готово", которая проверяет правильность расположения рисунков в середине фигур:

 

procedure Tform1.BitBtn1Click(Sender: TObject);

var check1,check2,checks:integer;

Begin

{Где находится первый рисунок?}

if ImageInShape(Image1,Shape1) then check1:=1; {B 1-ой фигуре}

if ImageInShape(Image1,Shape2) then check1:=2; {Bо 2-ой фигуре}

if ImageInShape(Image1,Shape3) then check1:=3; {B 3-ей фигуре}

{Где находится второй рисунок?}

if ImageInShape(Image2,Shape1) then check2:=1; {В 1-ой фигуре}

if ImageInShape(Image2,Shape2) then check2:=2; {Во 2-ой фигуре}

if ImageInShape(Image2,Shape3) then check2:=3; {B 3-ей фигуре}

{Где находится третий рисунок?}

if ImageInShape(Image3,Shape1) then check3:=1; {В 1-ой фигуре}

if ImageInShape{Image3,Shape2) then check3:=2; {Во 2-ой фигуре}

if ImageInShape(Image3,Shape3) then check3:=3; {B 3-ей фигуре}

{Если рисунки расположены правильно}

if (check[i,1]=check1) and (check[i,2]=check2) and (check3=check[i,3])

then score:=score+1; {то считаем удачные попытки}

SetPicture; {Устанавливаем новые рисунки}

end;

 

12. Запрограммируйте второй таймер, который обеспечивает доступность кнопки "Готово" лишь в случае правильного размещения всех рисунков в отведенных прямоугольниках и изменяет время со скоростью, обратно пропорциональной к числу в SpinEdit1.

В случае, когда пользователь не успел расположить рисунки в прямоугольниках и нажать на кнопку "Готово" за отведенное время, подается звук "ДІНГ", попытка не засчитывается, и происходит переход к следующей серии рисунков.

 

procedure Tform1.Timer2Timer(Sender: TObject);

Begin

{Задаем скорость движения индикатора }

timer2.interval:=SpinEdit1.Value*100;

{Если один из рисунков попал в первый прямоугольник}

if (ImageInShape(Image1,Snape1) or

ImageInShape(Image2,Shape1) or

ImageInShape(Image3, Shape1))

and {и один из рисунков попал во второй прямоугольник}

(ImageInShape(Image1,Shape2) or

ImageInShape(Image2,Shape2) or

ImageInShape(Image3,Shape2))

and {и один из рисунков попал в третий прямоугольник}

(ImageInShape(Image1,Shape3) or

ImageInShape(Image2,Shape3) or

ImageInShape(Image3,Shape3))

{то кнопка "Готово" становится доступной:}

then BitBtn1.Enabled:=True;

Gauge1.progress:=Gauge1.progress-1; {Работает индикатор времени}

if gauge1.progress=0 then {Если время исчерпано}

Begin

MediaPlayer1.FileName:='ding.wav';

MediaPlayer1.Open;

MediaPlayer1.Play; {Подаем звук "ДІНГ"}

SetPicture; {Меняем серию рисунков}

end;

end;

 

Сохраните программу и проект в рабочей папке.

 

14. Скопируйте музыкальные файлы ding.wav, applause.wav и clap.wav (или другие файлы, которые предложит преподаватель) в свою рабочую папку из папок C:\WINDOWS\MEDIA\Office97 или C:\WINNT\MEDIA соответственно.

 

15. Скопируйте рисунки car.wmf, money.wmf, bomb.wmf, coins.wmf, clock.wmf, tennis.wmf, brick.wmf, building.wmf, champgne.wmf, dice.wmf, donkey.wmf, door.wmf в свою рабочую папку из папки C:\Program Files\Microsoft Office\ media \ cagcat10 (либо любой другой, предложенной преподавателем).

 

Запустите программу. Перетягивайте мышью рисунки в середину соответствующих фигур. Закончите работу.

 

Продемонстрируйте созданную форму преподавателю. Закончите работу.

 







Дата добавления: 2015-09-19; просмотров: 359. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

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

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия