Potrzebuję nadać nazwy zmiennym TStringGrid w pętli.
Oczywiście coś takiego TStringGrid *Sgr = zmiennastring nie zadziała.
Pewnie jest jakiś sposób aby przekonwertować zmienną String na nazwę zmiennej TString
Potrzebuję nadać nazwy zmiennym TStringGrid w pętli.
TStringGrid *Tabela;
for(int i = 0; i < 10; i++)
{
Tabel = new TStringGrid(this);
Tabel->Parent = this;
Tabela->Name = "Tabela_" + (String)i;
}
TStringGrid *SGr;
for(int i = 0; i < 10; i++)
{
SGr->Name = "StringGrid" + (String)i;
}
- Kod: Zaznacz cały
SGr->Name = "StringGrid" + (String)i;
- Kod: Zaznacz cały
TStringGrid *SGr;
// deklaracja obiektu:
TStringGrid *SGr;
//definicja obiektu:
SGr = new TStringGrid(this);
SGr->Name = "StringGrid1"; // można nie stosować, obiekt automatycznie przyjmie nazwę SGr
SGr-Parent = this;
SGr->LEft = 8;
SGr->Top = 8;
TStringGrid *SGr;
for(int i=1; i<10; i++)
{
if(i==1)SGr = StringGrid1;
if(i==2)SGr = StringGrid2;
SGr->Cells[2][5] = zmiennastring;
ITD...
}
for(int i = 0; i < 10; i++)
{
if(i == 1)
dynamic_cast<TStringGrid *>(FindComponent("StringGrid" + (String)i))->Cells[2][5] = zmiennaString_1;
if(i == 2)
dynamic_cast<TStringGrid *>(FindComponent("StringGrid" + (String)i))->Cells[2][5] = zmiennaString_2;
}
StringGrid1->Cells[2][5] = zmiennaString_1;
StringGrid2->Cells[2][5] = zmiennaString_2;
void __fastcall TForm1::Funkcje(TStringGrid *aStringGrid)
{
aStringGrid->... coÅ› tam...
}
//-----------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Funkcja( StringGrid1 );
Funkcja( StringGrid2 );
Funkcja( StringGrid3 );
Funkcja( StringGrid4 );
Funkcja( StringGrid5 );
Funkcja( StringGrid6 );
Funkcja( StringGrid7 );
}
void __fastcall TForm1::Funkcje(TStringGrid *aStringGrid)
{
aStringGrid->... coÅ› tam...
}
//-----------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i = 1; i <= 7; i++)
{
Funkcja( dynamic_cast<TStringGrid *>(FindComponent("StringGrid" + (String)i))->Cells[2][5] );
}
}
void __fastcall TForm1::Funkcje(TStringGrid *aStringGrid)
{
aStringGrid->... coÅ› tam...
}
//-----------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TComponent *Temp;
int count = this->ComponentCount - 1;
for(int i = count; i > -1; i--)
{
Temp = this->Components[i];
if(Temp->ClassNameIs("TStringGrid"))
{
Funkcja( dynamic_cast<TStringGrid *>(Temp) );
}
}
}
}
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 26 gości