Задание 1
Поставим на форму со вкладки Standard, компонент Label1, компонент Button1, и компонент Timer1 со вкладки System. Далее выделим компонент Timer1 и в свойствах этого компонента изменим значение Enabled, на false, по умолчанию у этого компонента стоит значение Enabled = true, но нам не нужно чтобы было true, мы сами запустим этот компонент, а также изменим свойство Interval = 1, по умолчанию стоит 1000, но 1000 это слишком долго.
TTimer - это компанент, который может циклически вызывать нужный вам код в заданный промежуток времени. То есть если вы выставите интервал в 5 секунд.
Timer1->Interval = 5000;
А в событии OnTimer у вас будет показываться окошко, например
ShowMessage("Закрой меня:)");
После запуска таймера Timer1->Enabled = true;
Ваша программа будет показывать такие окошки каждые пять секунд. Интервал задаётся в милисекундах, то есть 500 - пол секунды, 1000 - одна секунда.
По умолчанию, свойство Enabled таймера выставленно true - истина, то есть сразу после запуска программы, таймер начнёт рабоать. Но мы хотим запустить его своей кнопкой, так что автоматический запуск нам не нужен. Изменим свойство Enabled в окне Object Inspector на false.
|
|
Далее, щелкаем по Button1, быстро два раза, откроется окно редактора кода. Введем этот код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled = true; // эта команда, меняет значение таймера на true(истина)
}
Теперь нам нужно объявить переменную типа int int a=0;
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int a=0;
Далее выделим компонент Timer1 и перейдём к окну Object Inspector, выберем вкладку Events (события). Перед нами будет список событий, поддерживаемых данным компанентом. Там выберем событие OnTimer, это будет не сложно, оно там одно:) и дважды щёлкаем по белому полю, справа от названия.
У вас появится окно, с готовой функцией, такого содержания.
Введем код:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (a!= 1000)
{
++a;
Label1->Caption = IntToStr(a);
}
if (a == 1000)
{
Timer1->Enabled = false;
Label1->Caption = "Hello World!";
}
}
Теперь наш компанент, каждые 1 (10,500,1000) милисекунд, будет
вызывать необходимый нам код.