Задание 2. Установите на форму компаненты Panel1, Timer1, Button1

Установите на форму компаненты Panel1, Timer1, Button1. Надпись на кнопке "Старт". Интервал таймера 500 мс.

TTime MyTime;//глобальная переменная
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//Сравниваются две строки

if(CompareStr(Button1->Caption,"Старт")==0)
{
MyTime = StrToTime("00:00");
Timer1->Enabled = true;
Button1->Caption = "Стоп";
}

else
{
if(CompareStr(Button1->Caption,"Стоп")==0)
{
Timer1->Enabled = false;
Button1->Caption = "Старт";
};
}
}

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TTime IncrementTime;
IncrementTime = StrToTime("00:01");
MyTime = MyTime + IncrementTime;
Panel1->Caption = TimeToStr(MyTime);
}

Задание 3

Cоздадим бегущую строку. Определим строку, которую будем использовать в качестве бегущей, как глобальную переменную типа AnsiString.

Описать глобальную переменную нужно в заголовочном модуле формы (с расширением «.h»), а определить – в основном модуле формы (имеющим расширение «.cpp»).

Чтобы быстро открыть заголовочный модуль можно использовать сочетание клави Ctrl+F6.

Для описания глобальной переменной типа AnsiString нужно в заголовочный модуль (файл Name.h) дописать: extern AnsiString Str;

Для определения - в основном модуле (файл Name.cpp) вне функций написать:

AnsiString Str=”Это пример бегущей строки……….”;

Строка будет располагаться в окне редактирования Edit. Чтобы сделать строку бегущей, надо использовать таймер. Для этого на форме надо разместить компонент Timer и задать его свойства Interval = 100 Enabled = true.

В обработчик события OnTimer вставить операторы, осуществляющие циклический сдвиг строки:

void __fastcall TForm1::Timer1Timer (TObject *Sender)

{ Edit1->Clear();

if (!Str.IsEmpty())// Если строка не пуста

{ Edit1->Text = Str;

char first = Str[1];

for (int i=1; i < Str.Length(); i++) //Циклический сдвиг строки

Str[i] = Str[i+1]; //на один символ влево Str[Str.Length()] = first;} }

Теперь каждый раз по истечении 100 миллисекунд (0,1 сек) строка в окне редактирования Edit будет циклически сдвигаться влево, т.е. это будет бегущая строка.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: