Урок 5 графики часовник

Имоти платно. Имоти се предлагат само на етапа на изпълнение на програмата. Използване на помощ. Създаване на нова форма в проекта. двойно. С тип константи. Pi функция. закръгляне функция и вид реализация кръг. изготвянето команди (методи Изображение компонент). Свързване модул. тип TRect.

Delphi позволява да се направи почти навсякъде. Можете да рисувате върху формата, можете да рисувате върху марката, можете дори да се направи директно на екрана! Но това е по-добре да се използват едни и същи специална съставка на TImage, дори и само заради самия компонент след това ще последва, за да прехвърлите на прозореца на програмата ви, вашите драсканици също преобразена. Ако ще се направи нещо, като форма, а след това рисунката ви ще бъдат изтрити, когато е минимизирано прозорец.

От начина си на място за такъв часовник, аз предлагам да се включите в нашата програма друга форма.

0. С помощта на «Нова форма» бутон или елемент от менюто «File / New Form» можете да създадете нова форма. Zhmosh бутона «Save». Input всяко име за новия модул (разбира се, можете да оставите и Unit2, но е добре да се използват подходящи имена).

1. пуснати на нова форма на компонент изображението (Допълнителна палитра, 6 бутона като изображение) във формуляра. Изравнете имот е изложен в alClient, в резултат на изображението ще се разпространи по цялата форма.

2. да си на таймера за форма. Ти го създаде OnTimer манипулатор събитие.

3. Декларирам, нови променливи:

Var XC, YC. цяло число;
ф. двойно;

4. Обявява въведените константи:

конст LH. число = 60;
LM. число = 100;
LS. число = 80;

Въпреки че те се наричат ​​константи наистина са променливи, но те имат от началото на зададената стойност. Стойностите на тези елементи - дължината на час, минута и секунда ръце в пиксели. Е, синтаксис, по мое мнение, е напълно разбираемо.

5. Тялото на процедурата за писане:

XC: = Image1.Width DIV 2;
YC: = Image1.Height DIV 2;
ф: = Pi / 2 - Време * 2 * 2 * Pi;
Image1.Canvas.MoveTo (хс, YC);
Image1.Canvas.LineTo (XC + кръг (LH * COS (и)), YC-кръг (LH * грях (ф)));

В първите два реда на координатите на център нападател изображение, то ще бъде в центъра на нашите часовници.

В третия ред на зрителния ъгъл на часовниковата стрелка. Символът "/" означава разделяне, символът "*" умножение "-" знак минус. Процедура за стандартни математически изрази, това е, първо разделение / размножават, а след това прибавяме / изваждаме. Pi връща номер PI. Обяснете защо ъгълът се смята за точно така, както искате? Или си познания по геометрия е достатъчно? О, да, на пръв Great Eroida, тогава наследството на либерално образование ... Така че, на ъгъла на математиката (в Делфи) е прието да се брои от хоризонталата и обратно на часовниковата стрелка. И часовника - от вертикално и по часовниковата стрелка. Знакът "-" преди време се променя посоката на препратката, а "пикая на половина" измества референтната точка на четвърт оборот по посока на часовниковата стрелка (т.е. брой 12 на часовника). Nightly Време променя своята стойност от 0 до 1, а час страна трябва да бъде за това време да се направи 2 оборота, т.е. "2 * 2 * пи» радиани. По този начин, ние се ф ъгъл в радиани. Тя е в радиани и ъгълът е необходимо да се замени с функциите синус и косинус.

Четвърти ред: сложи показалеца към центъра.

Петият ред: начертаете линия от текущата позиция на курсора до точката с координати XC + Round (LH * защото (ф)), YC-Round (LH * грях (ф)). X координата се сгънат XC и дължината на стрелката, умножено по косинуса на ъгъла. Тъй като косинус на ъгъла - стойността на реалното, и координатите трябва да бъдат цели числа, ще трябва да използвате функцията Кръглата - закръгляване. Въпрос на пълнене: защо не пишете LH * кръг (COS (ф))? По-малко, когато се изчислява на годишна координати, свързани с факта, че у-оста не се насочват нагоре (както е прието в математиката), и да ти се и от BASIC специалист тя не трябва да изненадва.

6. Последните три линии за копиране два пъти и променени, за да се покаже минута и секунда ръцете. В дясно?

7. Сега трябва да се свърже тази нова форма на нашата програма. Отиди Unit1.pas и да намерят блок, който започва с думата използва. Този списък показва всички модули, свързани към вашата програма. В края на този списък, разделени със запетаи постави името на новия си модул. първата си форма ще бъде открит, когато програмата започва да се отвори второто, което трябва да се даде команда

Стартирайте програмата. Часовникът работи. Само ръцете не се изтриват. Изображение трябва да се почистват преди всяко ново изобразяване. Най-лесният начин за почистване на изображението - всичко боя с цвета на фона.

1. Декларирам нова променлива от тип Rect TRect. Този тип обвива поле 4 - наляво, отгоре, отдясно и отдолу цяло число, и за цел да се определят координатите на правоъгълника.

2. В началото на тялото на процедура трябва да се зададе стойност полета на правоъгълник правоъгълник координати, които искаме да рисува върху и се обадете на метода за зареждане:

Rect.Left: = 0;
Rect.Top: = 0;
Rect.Right: = Image1.Width-1;
Rect.Bottom: = Image1.Height-1;
Image1.Canvas.FillRect (Rect);

Домашна работа. 6. Направете го точка да се направи стрелката къдрава, а не просто да се състои от един ред.

В следващия урок ние ще направим всичко часовник набиране.