[C++] kolko i krzyzyk.

0

elo. dlaczego w builderze 5 ten kod nie dziala??

void __fastcall TForm1::aClick(TObject *Sender)
{
 char zm[]={'a','b','c','d','e','f','g','h','i'};
 int i;

 a->Caption="X";
 i=random(9);
 zm[i]->Caption="O";
}

wklejam ten kod do przycisku button1. button1 ma nazwe 'a' (name = 'a') po nacisnieciu na tego buttona ma sie na nim zaznaczyc 'X' i wylosowac ma on inna litere z zapisanych w zmiennej znakowej zm. pozniej ta litera zostaje wstawiona w ostatnia linijke kodu czyli jesli wylosowalo sie trzecia litera to wstawiona w miejsce zm[i] zostanie 'd' co powinno spowodowac wpisanie w buttona o tej nazwie
(name = 'd') litery 'O'. namieszalem ale pomozcie...

0

alez ty glupi, czlowieku, jak mozesz odwolywac sie do obiektu przez jego nazwe w stringu. A myslisz ze po kompilacji twoj button powiedzmy 'd' taką bedzie mial nazwe ? zrob sobie tablice ze wskaznikami do tych obiektow a dalej mozesz sie odwolywac jak napisales. zalezy tylko czy to pole "Caption" jest publiczne czy prywatne, bo jak prywatne to nie bedziesz mogl go podmienic (zmienic wartosci)</cpp>

0

sugeruje cos takiego:

TButton* zm[9];
zm[0]=a;
zm[1]=b;
...
zm[8]=i; // jezeli twoje 'buttony' maja nazwy a, b, c, d, e, f, g, h, i

i wtedy mozesz zmieniac napis w 'buttonach'!
zm[x]->Caption="O";

ale to co bylo poprzednio?? mam nadzieje, ze jestes poczatkujacym programista! :)

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