Тема: Візуальне програмування C++Builder XE7

1. Як створити нову форму (Form2) ?
2. Я хочу зробити так щоб Label1, при натисканні на Button1, міняв свій колір і вміст від 0 до 17999 з інтервалом 1/4 секунди 

for(int i=0;i<18000;i++)
{
   Label1->Font->Color=i;
   Label1->Caption=i;
   Sleep(250);
}

Як це зробити ?

2

Re: Візуальне програмування C++Builder XE7

1. Файл - нова - форма
2. Шукайте на панелі таймер.

Подякували: Betterthanyou1

3

Re: Візуальне програмування C++Builder XE7

Таймер вміє міняти властивості плавно? Саме плавна зміна випливає з приведеного коду, чи ні?

4

Re: Візуальне програмування C++Builder XE7

quez написав:

Таймер вміє міняти властивості плавно? Саме плавна зміна випливає з приведеного коду, чи ні?

Де? Таймер спрацьовує не частіше, ніж раз на вказаний період - тобто так само, як і sleep.

5 Востаннє редагувалося Betterthanyou (18.03.2015 21:03:10)

Re: Візуальне програмування C++Builder XE7

Як зробити щоб в s1 записати все до двокрапки(:) із s

    AnsiString s= Edit1->Text;
    AnsiString s1="";
    for(int i=0;i<s.Length();i++)
    {
        if(s[i]!=(AnsiString)":")
            s1+=s[i];//Тут щось не так
        else
            break;
    }

Помилка Range check error

6

Re: Візуальне програмування C++Builder XE7

Допоможіть

Як зробити щоб в s1 записати все до двокрапки(:) із s

    AnsiString s= Edit1->Text;
    AnsiString s1="";
    for(int i=0;i<s.Length();i++)
    {
        if(s[i]!=(AnsiString)":")
            s1+=s[i];//Тут щось не так
        else
            break;
    }

Помилка Range check error
Код програми

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
int red=0,green=0,blue=0;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Timer1->Enabled=true;
    AnsiString s= Edit1->Text;
    AnsiString s1="";
    for(int i=0;i<s.Length();i++)
    {
        if(s[i]!=(AnsiString)":")
            s1+=s[i];
        else
            break;
    }
    Edit1->Text=s1;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    if(red<256)
    {
        Label1->Font->Color=(TColor)RGB(red,green,blue);
        Label1->Caption=IntToStr(red)+":"+IntToStr(green)+":"+IntToStr(blue);
        if(blue<255)
            blue++;
        else
        if(green<255)
            {
                green++;
                blue=0;
            }
        else
            {
                red++;
                green=0;
            }
    }
}
//---------------------------------------------------------------------------

Програма
https://сайт-злодій/d/8_IwWCaXfMDCi

7

Re: Візуальне програмування C++Builder XE7

BetterthanСyclist, ну як тут толерантність зберігти?   *FACEPALM*