Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Imege


Автор: Simon14 27.1.2009, 22:27
Люди подскажите очень нужно как сделать так чтоб шетчик прибавлялся после каждого нажатия на картинку пробовал так
прописывал на Imege jn click 
int x=1;
x++;
Edit1->Text=x;

 но прибавляеться только один раз

Автор: Comm 27.1.2009, 22:40
static int x=1;
x++;
Edit1->Text=x;


Или обьяви глобальную переменную в файле класса
Код

class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TStringGrid *StringGrid1;
        TButton *Button1;
        TMemo *Memo1;
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:        // User declarations
            int x;
        __fastcall TForm1(TComponent* Owner);
};

Автор: sergey_85 27.1.2009, 22:40
Если я понял тебя, то так:

на событии ImageOnClick
Код

  ImageOnClick(...)
  {
       this->myCounter +=1;

       this->edit1->Text = IntToStr(this->myCounter);
  }

где myCounter - переменная формы, объявлена в определении класса и иництиализирована в конструкторе формы значением = 0;

PS: у тебя не работает т.к. ты переменную объявил в самом событии и при выходе из него она теряется (все её нет!!).

Автор: Dmi3ev 27.1.2009, 23:12
самый простой способ
Код

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

#include <vcl.h>
#pragma hdrstop

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

void __fastcall TForm1::Image1Click(TObject *Sender)
{
x++;
Edit1->Text=IntToStr(x);
}
//---------------------------------------------------------------------------

просто объяви ее выше и все...

Автор: Simon14 27.1.2009, 23:20
А как задать чтоб рисунок двигался я просто не могу прыдумать как сделать чтоб значения Left и top  менялись думаю ет можно сделать с помошью генератора случайных чисел но не знаю как его создать

Автор: Dmi3ev 27.1.2009, 23:45
Код

randomize();
Image1->Top=random(Form1->Height-Image1->Height);
Image1->Left=random(Form1->Width-Image1->Width);


Добавлено через 43 секунды
PS одна тема - один вопрос))) а то забанят)))

Автор: dumb 4.2.2009, 04:34
Модератор: Название темы не отражает ее суть, или несколько вопросов в одном топе!

Ознакомьтесь с правилами форума!:

http://forum.vingrad.ru/index.php?showtopic=96391

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)