also, ich würde deine 3 Methoden in einer zusammenfassen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| function CheckboxenEinstellen(xCheckBoxNr : integer; xChecked : boolean); begin try cb_randomstring.onchange := Nil; cb_ownstring.onchange := Nil; cb_setstring.onchange := Nil; cb_randomstring.checked := False; cb_ownstring.checked := False; cb_setstring.checked := False; case xCheckBoxNr of 1: begin cb_ randomString.Checked := xChecked; end; 2: begin cb_OwnString.Checked := xChecked; end; 3: begin cb_SetString.Checked := xChecked; end; else Showmessage('Ungültige CheckboxNr übergeben'); end; finally cb_randomstring.OnChange := cb_RandomsttringOnChange; cb_ownstring.OnChange := cb_ownstringOnChange; cb_setstring.OnChange := cb_setstringOnChange; end; end; |
in jedes Onchange dann einfach nur dir procedure mit den entsprechenden Parametern aufrufen
Bsp.:
Delphi-Quelltext
1:
| CheckboxenEinstellen(1, cb_randomString.Checked); |
durch das abhängen des OnChangeereignisses kannst du an den Checkboxen fummeln,
ohne dabei die jeweils anderen auszulösen (Checked := irgendwas löst wieder onchange aus).
Weiterer Vortei: Dein Code wird übersichtlicher/einfacher, weil die Checkboxauswertung nur an einer
und nicht 3 stellen passiert.
Ich hoffe, mein Ansatz hilft dir weiter
Zuma
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)