PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Simple C++-Frage (hoffentlich)


Gast
2009-12-09, 09:50:22
Moin zusammen !

Ich bau grad mit dem C++ Builder ne Oberfläche mit einige Checkboxen drin. Unten stehende Schleife würde ich jetzt nicht unbedingt 8x (Anzahl der Checkboxen) so hinschreiben wollen.

if(CheckBox_Category1->Checked)
{
categories_count++;
}

Gibt es eine Möglichkeit, das ganze eleganter zu lösen, z.B. so ähnlich:


for(int i = 0; i<8; i++)
{
if(CheckBox_eDL_DG1_Cat1->Checked)
{
categories_count++;
}
}

Kann ich dir dick gedruckte "1" in Abhängigkeit von "i" mitzählen lassen ?

Pinoccio
2009-12-09, 10:02:41
Moin zusammen !

Ich bau grad mit dem C++ Builder ne Oberfläche mit einige Checkboxen drin. Unten stehende Schleife würde ich jetzt nicht unbedingt 8x (Anzahl der Checkboxen) so hinschreiben wollen.

if(CheckBox_Category1->Checked)
{
categories_count++;
}

Gibt es eine Möglichkeit, das ganze eleganter zu lösen, z.B. so ähnlich:


for(int i = 0; i<8; i++)
{
if(CheckBox_eDL_DG1_Cat1->Checked)
{
categories_count++;
}
}

Kann ich dir dick gedruckte "1" in Abhängigkeit von "i" mitzählen lassen ?Ohne C++-Kenntnisse würde ich folgendes sagen: Nö.
Da könntest die Checkboxen höchstens in eine Struktur werfen (Array oder was clevereres) und darüber iterieren.

mfg

Ganon
2009-12-09, 10:08:50
Nur über Reflection, aber da wäre das hinzufügen der Checkboxen in ein Array das leichtere, denke ich.

Oder dein Programmdesign überdenken ^^

Gast
2009-12-09, 10:48:37
In Delphi gab es da etwas wie "GetComponentByName" (hieß nicht wirklich so, nur vom Prinzip her), ich schätze soetwas wird es im C++ Builder dann auch geben.

The_Invisible
2009-12-09, 12:39:21
In Delphi gab es da etwas wie "GetComponentByName" (hieß nicht wirklich so, nur vom Prinzip her), ich schätze soetwas wird es im C++ Builder dann auch geben.

ja, dann könnte man die strings entsprechend "zusammenbauen". QT bietet zb eine findChildren() methode die eine liste der gefunden objekte zurückliefert, irgendsowas wirds sicher da auch geben.

ansonsten wie gesagt die pointer zu den checkboxen in ein array hauen und darüber iterieren.

mfg

Coda
2009-12-09, 17:54:27
Nur über Reflection, aber da wäre das hinzufügen der Checkboxen in ein Array das leichtere, denke ich.
Es gibt keine Reflection in C++.