Button & int;

0

1...
void __fastcall TForm1::TabSheet2Show(TObject *Sender)
{
int i,j;
char znak;
for (i=0,j=1;i<=81;i++,j++)
{
znak = i;
Button & j->Caption = AnsiString(znak); // tu ma buc nazwa button
}
}

Jak to naprafic?
jesli mam 81 buttonow o nazwaie button1 , button2 ... button81
jak dac do petli kazdy znka ascii do tego? zeby stworzyc tablice znakow?

2...
void __fastcall TForm1::CSpinButton1UpClick(TObject *Sender)
{
int up;
up = StrToInt(Edit1->Text);
up += 1;
Edit1->Text = IntToStr(up);
}

Co jest zle?? Jak to naprawic??

0
{int up;
  up = StrToInt(Edit1->Text);
  up += 1;
  Edit1->Text = IntToStr(up);
}

Co jest zle?? Jak to naprawic??

Mi to działa, ale dodatkowa zmienna jest zbędna.

Edit1->Text = IntToStr(StrToInt(Edit1->Text) + 1);

A po drugie:
zamiast

up += 1;

pisz

up++;

A co do pierwszego pytania - nie kumam o co biega zbytnio.

0

Ja tez pierwszego zupelnie nie rozumiem, ale pójdę na żywioł...

Mysle, ze (w 1) chodzilo ci o to by w kilkunastu (kilku dziesicu) zmienic nazwe na jakas konkretna. I próbowałeś zrobić pętlę odwołującą sie do każdego Button+int... Jezeli tak to cos takiego:

int i,j;
char znak;
for (i=0,j=1;i<=81;i++,j++)
{
znak = i;
dynamic_cast<TButton*>(FindComponent("Button" + IntToStr(j)))->Caption = AnsiString(znak);
}

Ale Od razu mówię, że nie mam pewności, że o to ci chodziło bo zamotałeś na max`a... Ja to bym w ogóle inaczej napisał:

for(int i=0; i<81; i++)
       {
        dynamic_cast<TButton*>(FindComponent("Button" + IntToStr(j)))->Caption = IntToStr(i);
       }
0

Dzieki chlopaki [browar]

Krecik wiesz co:

for(int i=1,j=1; i<81; i++,j++)
{
dynamic_cast<TButton*>(FindComponent("Bu" + IntToStr(j)))->Caption = StrToInt(i);
}

jak to daje to camption jest cyfra dlaczego??
Caption = StrToInt(i);
Caption = IntToStr(i);
tak smo dzialaja??

(jesli nie zrozumiales, a ja zagmatwalem na maxa to chodzi mi o to ze zrobilem(na razie 81) ale ma byc 254 buttony o nazwie Bu1, Bu2, Bu254 i kazyd z nich ma miec Caption o znaku ascii od 1 - 254 z pominieciem entera , spacja i tabulatora.. rozumiesz?? chce stworzyc wizualna tablice znakow, oraz chce ze po wcisnieciu na guzik obojetnie jaki zeby jego Caption czyli znak ascii pojawil sie w malym oknie takim jak wiadomosc w gg obok tego buttonu (ale nie ze przpisze kazdy akcje on clibk ale wszytkich do jednego i tylko ma sprawdzic ktory wcisniety i potem do tego malego okienka dac jego znak rozumeisz?? ) :-)

0

Jak zrozymiałem to w 10 min. zrobiłem :).
Ale w moich kodach zmień "Button" na "Bu", bo mi było łatwiej Buttony wkeljać...

Najpierw stwórz OnClick dla pierwszego button i ma to wyglądać tak:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
String chr=((TButton*)Sender)->Caption;
Edit1->Text = Edit1->Text + chr;
}

Teraz kod przypisujący Kolejnym buttonom Captiony i OnClicki:

int i,j;
char znak;
for (i=32,j=1;i<=81+32-1;i++,j++)//Od 32 bo pierwsze ci sie nie przydadzą raczej...
{
znak = i;
dynamic_cast<TButton*>(FindComponent("Button" + IntToStr(j)))->Caption = AnsiString(znak);
dynamic_cast<TButton*>(FindComponent("Button" + IntToStr(j)))->OnClick = Button1Click;
}
0

Dzieki Krecik zaraz sprawdze czy dziala ale robie od 1 bo te pierwsze tez mi ise w sumie przydadza :-) To program do szkoly... wiec... trzeba dac jak najwiecej glupot ;p

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