Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#5

Re: Mehreren RadioGroups eine Anweisung zuweisen

  Alt 7. Feb 2007, 16:46
Zitat von moperswings:
der erste Vorschlag hat den Nachteil, dass der Button angezeigt wird, nachdem ein Wert gleich in der ersten RadioGroup angeklickt wurde.
Das kann so nicht stimmen (vorausgesetzt, alle RadioGroups werden mit ItemIndex -1 initialisiert). Mein Code sagt: Der Button wird sichtbar, wenn in der ersten RadioGroup UND in der zweiten UND in der dritten (für Dich: UND in jeder weiteren) ein Element ausgewählt wurde.

Zitat von moperswings:
Beim Zweiten gibt es zu viele Fehlermeldungen, mit denen ich im Moment nichts anfangen kann.
Ich muss mal sehen, ob ich aus Deinen Vorschlägen was zusammenbauen kann.
Deshalb sagte ich ja: Untersuche die verwendeten Methoden mit der OH. Jürgen

/Edit: Beim zweiten Weg hatte ich vor allem eine Klammer vergessen. Erläuterungen zu diesem Verfahren:
  • Gesucht wird als Result der Status aller RadioGroups.
  • Sender ist immer eine RadioGroup, kein TabSheet.
  • Gesucht wird das aktuelle TabSheet. Ich muss also das übergeordnete Control benutzen.
  • Alle Controls dieses TabSheets werden geprüft.
  • Wenn es sich um eine RadioGroup handelt, wird dessen Status dem Gesamtergebnis hinzugefügt.
  • Wenn es sich um einen Button handelt und dieser die gewünschte Beschriftung enthält, ist es der, der abschließend freigegeben wird.
  • Nach Abschluss der Prüfungen kann das Ergebnis für den Button genutzt werden.
Ich habe das Verfahren in #3 korrigiert und die Registrierung des Buttons eingebaut.

Zusatzbemerkung 1: Diese Prozedur wurde jetzt so umfangreich, dass sie besser in eine eigene Prozedur ausgelagert werden sollte. Dann kann sie auch einfacher von verschiedenen TabSheets aus aufgerufen werden.

Zusatzbemerkung 2: In solchen Fällen gefällt mir Button.Enabled besser als Button.Visible, weil der Anwender dann direkt sieht, dass sich noch etwas ändern kann.

Viel Erfolg! Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat