ЗНАЕТЕ ИНТУИТ, Лекция, Скрийнсейвър
Компонент TTimer
Таймерът дойде. Нуждаем се от него, за да сменим етикета - да покажем текущото време. Освен това, благодарение на този компонент, ще можем да осигурим на марката непрекъснато движение.
TTimer е в раздела Палитри на системни компоненти:
Този компонент невизуални - невидим за потребителя, така че може да бъде инсталиран навсякъде във формуляра, стига да не ви пречи при проектирането на формуляра, да не припокрива други компоненти. Компонентът ще бъде видим за вас, въпреки черния цвят на формуляра.
Компонентът има само едно свойство и едно събитие, от които може да се нуждаем:
Интервал - Това свойство задава интервала от време, когато таймерът ще се задейства. По подразбиране е 1000, което съответства на 1 секунда. Това е, от което се нуждаем, така че ще оставим стойността на имота непроменена. И за в бъдеще не забравяйте: ако трябва да зададете различно време, умножете необходимия брой секунди по 1000 и ще получите това, от което се нуждаете.
След това отидете на Инспектор на обекти до раздела Събития. Ние се интересуваме само от едно събитие:
OnTimer - събитието се задейства, когато зададеният интервал приключи. Генерирайте кода за това събитие по същия начин, както преди това генерирахте събитието OnClick за бутоните, ние ще го попълним малко по-късно.
Сега трябва да помислим върху алгоритъма на действията - как ще преместим надписа. Идеята е следната: генерирайте произволно число от 0 до 3, получавате 4 опции. В крайна сметка имаме 4 посоки за движение: нагоре, надолу, наляво или надясно. В зависимост от полученото произволно число ще изберем и посоката на движение. Ще преместим, да речем, 50 пиксела наляво и надясно или 25 пиксела нагоре и надолу. Как да се движим? Това е много просто! Вляво е разстоянието в пиксели от левия ръб на формуляра до компонента. Да приемем, че левият етикет е 100. Тоест от ръба на формуляра до етикета е 100 пиксела. Ако добавим още 50, тогава по този начин ще изместим етикета надясно, а ако, напротив, ще го извадим, тогава ще го изместим наляво. За да се придвижите нагоре и надолу, използвайте свойството Top - разстоянието от горната част на формуляра до компонента. Движенията ще бъдат същите, но с 25 пиксела.
Ако получим посока 0, тогава ще се преместим надясно: добавете 50 пиксела към свойството Left. Ако посоката е 1, преминете наляво, като извадите 50 пиксела от свойството Left. Ако посоката е 2, преминете надолу: добавете 25 пиксела към свойството Top на етикета. Е, ако посоката е 3, след това се придвижете нагоре, добавяйки 25 пиксела към Top свойството .
Освен това може да се случи и надписът да е извън прозореца. В този случай ще трябва да го върнем до тези граници. Нека го направим по следния начин: ако етикетът се е преместил наляво, тогава на свойството Left просто ще бъде присвоена стойността 0 - етикетът ще се върне във формуляра и ще бъде натиснат към левия край.
Ако етикетът е надминал десния ръб, тогава присвойте свойството Left ширината на формуляра минус ширината на етикета, така че етикетът ще бъде притиснат от дясната страна на формуляра и ще бъде в него.