A
Christian211 schrieb:
Da kannst du dann deine Zeichen ablegen. TAG dient zur Aufnahme eines 32-Bit wertes oder eines Zeigers, der auf individuelle Daten zeigt, die du gerne zu deinem Object speichern möchtest. Manachmal sehr nützlich.
Wenn du ein Menü hast, das mehrere Male eine ähnliche Funktionalität anbietet (z.B. für ein Spiel: Schwierigkeitsgrad 1, 2, 3), kannst du, wenn du in Tag den Schwierigkeitsgrad schreibst, die OnClick-Events auf die gleiche Funktion setzen; über den übergebenen Zeiger (nachdem du ihn mindestens auf TComponent* gecastest hast) kann diese Funktion den Tag auslesen. Dadurch vermeidet man solche Konstrukte:
void __fastcall TFrmMain::MnuLevel1Click(TObject *Sender)
{
SetLevel (1);
}
//---------------------------------------------------------------------------
void __fastcall TFrmMain::MnuLevel2Click(TObject *Sender)
{
SetLevel (2);
}
//---------------------------------------------------------------------------
void __fastcall TFrmMain::MnuLevel3Click(TObject *Sender)
{
SetLevel (3);
}
DJ BlackEagle schrieb:
Aber ne Adresse besteht nicht nur aus Zahlen, die besteht aus 0-9 und A-F. A-F ist kein intger Wert. :|
Ein Zeiger ist genauso eine Variable wie eine Integerzahl; auf 32-Bit-Systemen sind sie auch noch gleich groß, weshalb man in Tag auch einen Zeiger speichern kann.
Eine Adresse ist zudem genauso eine Zahl wie jede andere auch - was du meinst, ist nur die häufig bei Zeigern im Debugger verwendete hexadezimale Darstellung dieser Zahlen.
Moritz