C++ Builder - Wyświetlanie zmiennej

0

Witam, tworzę prosty program w c++ Builderze i mam zmienna, którą inkrementuJę po jakimś ruchu. Co zrobić aby wyświetlić tą zmienną > Próbowałem w Label , ale przecież w Caption nie można wyświetlać zmiennych bo po prostu wyświetli się jej nazwa ... Co robić?

Z góry dziękuję za przydatne odpowiedzi! :)

0

Proponuje zacząć od podstaw programowania. Zaręczam ci ze label ma metodę która pozwala ustawić tekst na dowolnego stringa. Nazywa się ona pewnie setText...

0

Niestety ja takiej metody nie widze, a chce wyświetlić inta, nie stringa :)

0

dlatego powinienes zaczac od podstaw.

Rzutuj z inta na stringa (googluj rzutowanie c++)

0

A kto powiedział, że nie zaczynam od podstaw??

0

bo sie bierzesz za okienka. Wyklikujesz wiekszosc rzeczy a nie wiesz np czym jest klasa i obiekt. Pozniej bedizesz myslal ze potrafisz podstawy, ale bedziesz robic koszmarne bledy. Ktore bys uniknal jakbys sie uczyl na robiac programy konsolowe. Rzutowanie nie jest wymagane w pierwszym programach. A Ty tutaj juz ich potrzebujesz, lub potrzebujesz wykonac metody (i to pojecie pewnie tez dla Ciebie obce) ktore zwroci Ci juz przerobiony string.

0

Niestety nie masz racji :) Programowanie obiektowe znam bardzo dobrze, lecz wykonywałem je po prostu w zwykłych, konsolowych programach. Teraz uczę się obsługi C++ Buildera i nie wiem po prostu jak wyswietlic zmienna :)

0
art1977 napisał(a):

Ww c++ Builderze ...w Caption nie można wyświetlać zmiennych bo po prostu wyświetli się jej nazwa ...

Pokaż kod bo:

  1. nie jesteśmy wróżkami
  2. z opisu wynika, że robisz coś totalnie głupiego (prawdopodobnie dodajesz apostrofy).
0

skoro nie wiesz co to rzutowanie to mam racje i nie masz podstaw, ale Twoja sprawa. Moze za jakis czas zrozumiesz ze mialem racje

0

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

char p1, p2, p3, p4, p5, p6, p7, p8 , p9;

char kto;
int o;
int x;

sprawdz()
{
if((p1==p2 && p2==p3 && p1!='n') ||
(p4==p5 && p5==p6 && p4!='n') ||
(p7==p8 && p8==p9 && p7!='n') ||
(p1==p4 && p4==p7 && p1!='n') ||
(p2==p5 && p5==p8 && p2!='n') ||
(p3==p6 && p6==p9 && p3!='n') ||
(p3==p5 && p5==p7 && p3!='n') ||
(p1==p5 && p5==p9 && p1!='n'))

{
char * w;
if(kto=='o')
{
w = "Wygrywa krzyżyk!";
x++;
}
else
{
w = "Wygrywa kółko!" ;
o++;
}

 Application -> MessageBox (w, "Potwierdż", MB_OK);

}

}

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
pole1 -> Picture -> LoadFromFile("img/nic.bmp");
pole2 -> Picture -> LoadFromFile("img/nic.bmp");
pole3 -> Picture -> LoadFromFile("img/nic.bmp");
pole4 -> Picture -> LoadFromFile("img/nic.bmp");
pole5 -> Picture -> LoadFromFile("img/nic.bmp");
pole6 -> Picture -> LoadFromFile("img/nic.bmp");
pole7 -> Picture -> LoadFromFile("img/nic.bmp");
pole8 -> Picture -> LoadFromFile("img/nic.bmp");
pole9 -> Picture -> LoadFromFile("img/nic.bmp");

    tura -> Picture -> LoadFromFile("img/osmall.bmp");

    p1='n';   p2='n';   p3='n';
    p4='n';   p5='n';   p6='n';
    p7='n';   p8='n';   p9='n';

    kto = 'o';

pole1->Enabled = true;
pole2->Enabled = true;
pole3->Enabled = true;
pole4->Enabled = true;
pole5->Enabled = true;
pole6->Enabled = true;
pole7->Enabled = true;
pole8->Enabled = true;
pole9->Enabled = true;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole1Click(TObject *Sender)
{
if(p1=='n')
{
if(kto=='o')
{
pole1 -> Picture -> LoadFromFile("img/o.bmp");
p1='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole1 -> Picture -> LoadFromFile("img/x.bmp");
            p1='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole1 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole2Click(TObject *Sender)
{
if(p2=='n')
{
if(kto=='o')
{
pole2 -> Picture -> LoadFromFile("img/o.bmp");
p2='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole2 -> Picture -> LoadFromFile("img/x.bmp");
            p2='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole2 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole3Click(TObject *Sender)
{
if(p3=='n')
{
if(kto=='o')
{
pole3 -> Picture -> LoadFromFile("img/o.bmp");
p3='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole3 -> Picture -> LoadFromFile("img/x.bmp");
            p3='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole3 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole4Click(TObject *Sender)
{
if(p4=='n')
{
if(kto=='o')
{
pole4 -> Picture -> LoadFromFile("img/o.bmp");
p4='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole4 -> Picture -> LoadFromFile("img/x.bmp");
            p4='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole4 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole5Click(TObject *Sender)
{
if(p5=='n')
{
if(kto=='o')
{
pole5 -> Picture -> LoadFromFile("img/o.bmp");
p5='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole5 -> Picture -> LoadFromFile("img/x.bmp");
            p5='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole5 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole6Click(TObject *Sender)
{
if(p6=='n')
{
if(kto=='o')
{
pole6 -> Picture -> LoadFromFile("img/o.bmp");
p6='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole6 -> Picture -> LoadFromFile("img/x.bmp");
            p6='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole6 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole7Click(TObject *Sender)
{
if(p7=='n')
{
if(kto=='o')
{
pole7 -> Picture -> LoadFromFile("img/o.bmp");
p7='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole7 -> Picture -> LoadFromFile("img/x.bmp");
            p7='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole7 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole8Click(TObject *Sender)
{
if(p8=='n')
{
if(kto=='o')
{
pole8 -> Picture -> LoadFromFile("img/o.bmp");
p8='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole8 -> Picture -> LoadFromFile("img/x.bmp");
            p8='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole8 -> Enabled = false;
             sprawdz();
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole9Click(TObject *Sender)
{
if(p9=='n')
{
if(kto=='o')
{
pole9 -> Picture -> LoadFromFile("img/o.bmp");
p9='o';
tura -> Picture -> LoadFromFile("img/xsmall.bmp");
kto = 'x';

            }
            else
            {
            pole9 -> Picture -> LoadFromFile("img/x.bmp");
            p9='x';
            tura -> Picture -> LoadFromFile("img/osmall.bmp");
            kto = 'o';
            }

            pole9 -> Enabled = false;
            sprawdz();
    }

}
//---------------------------------------------------------------------------

Robie grę kółko i krzyżyk :) Wszystko działa poprawnie, lecz chciałbym dodac liczenie punktów po kazdej wygranej. Stąd właśnie w procedurze sprawdz() zmienne o (kólko) i x (krzyzyk) sa inkrementowane . I chciałbym wyswietlic je po prostu na ekranie.

Pozdrawiam!

0

http://i60.tinypic.com/20jqm4g.png

Tak wygląda program :)

0

Zlituj się z tym kodem!
Słyszałeś o tablicach?
To powinno być raczej tak:

void __fastcall TForm1::poleClick(TObject *Sender)
{  
      TButton *button = static_cast<TButton *>(Sender);
      int idPola = button->Tag;
      int x,y;
      x = idPola%3;
      y = idPola/3;
      switch (plansza[x][y]) {
      case 'o':
      case 'x':
            break;
      case ' ':
            plansza[x][y] = kto;
            if (kto=='o') {
                button->Picture = ikonaO;
                kto = 'x':
            } else {
                button->Picture = ikonaX;
                kto = 'o':
            }
            button -> Enabled = false;
      }
}
0

No i z tego kodu widać, że podstaw to Ty jednak nie umiesz.

0

A prawdziwym cyrkiem to jest już oferowanie komuś pisania programów jak nie ma się zielonego pojęcia o programowaniu.
Mam nadzieję, że jednak to nie Ty jesteś programistą na belsoft.pl (swoją grę sygnujesz tą stroną).

0

@art1977 a teraz przerób to na wersję 1000x1000 albo w ogóle NxM gdzie K w rzędzie wygrywa. Nadal byś to tak napisał?

1

Zakładając, że twoja zmienna jest typu int lub innego wbudowanego, po prostu:

Label1->Caption = zmienna;

Ponieważ, klasa AnsiString ma odpowiedni konstruktor komwertujący.

Swoją drogą może najpierw zaglądnij do pomocy dołączonej do programu i zapoznaj się z interfejsem klasy, której chcesz używać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1