WasWeißDennIch hat folgendes geschrieben: |
Mir ist zwar nicht klar, wozu Du den Namen brauchst, aber wieso nicht einfach so? |
Es geht um den Leveleditor für ein Spiel (siehe Freeware-Bereich). Für jedes Level können bestimmte Eigenschaften festgelegt werden, wie z.B. Zeit, die zur Verfügung steht, Anzahl der Diamanten, die gesammelt werden muss, Spielgeschwindigkeit etc.. Da es sich bei den Eigenschaften meist um Zahlenwerte handelt, verwende ich zum Großteil Spinedits. SpinEdits finde ich dafür sehr komfortabel.
Manchmal bietet es sich an, dass man einen bestimmten Wert für alle Level gleich setzen möchte: Als Beispiel, immer die gleiche Spielgeschwindigkeit. Nun ist es sehr zeitaufwendig und umständlich, für jedes Level einzeln die neue Spielgeschwindigkeit per Hand einzugeben. Nun biete ich einfach die Möglichkeit, dass man auf das SpinEdit mit der Spielgeschwindigkeit den Fokus setzt und anschließend für alle gewünschten Level diesen Wert automatisch ändern lässt. Letztendlich wird der Wert dann nicht im SpinEdit selbst sondern in den Leveldaten (MemoryStream) gespeichert. Um zu wissen, dass in meinem Beispiel die Spielgeschwindigkeit geändert werden soll, brauche ich dann doch den Namen des Spinedits. Ansonsten bräuchte ich den Namen natürlich nicht, da hast Du vollkommen recht.
Eine Frage auf Deine Antwort:
Delphi-Quelltext
1: 2: 3: 4: 5:
| TSpinEdit(ActiveControl).Value := 2; (ActiveControl as TSpinEdit).Value:=2; |