Prozeduren/Functionen in Prozeduren sind an sich eine feine Sache. Ob der obere Code nicht auch ohne eine ausgekommen wäre, ist eine Ansichtssache, ich hätte vermutlich es auch so gemacht. Im Grunde nutze ich diese Möglichkeit sogar sehr oft. Der Grund ist simpel - zuerst wie gesagt, man kann es auch über eine Prozedur lösen, aber wenn man sich die zweite Prozedur anguckt, ist sie allgemein gehalten, hat also keinen direkten Bezug zu TFrmMain. Allgemeine Prozeduren kann man immer wieder gebrauchen, ob im gleichen Projekt oder in später in anderen. Hat man alles in einer Prozedur, ist die Prozedur mit den Bezeichnungen andere Komponenten "verunreinigt". Spätere Nutzung ist somit schwieriger, man muss die Prozedur denn erst "bereinigen". Ist sie allgemein gehalten, kann man sie immer wieder nutzen.
Hat man eine allgemeine Prozedur, kann man sie auch direkt in die
Unit packen. Wenn aber nur die eine einzige Prozedur sie nutzt, dann packe ich sie auch in die Prozedur. Das erhöht die Lesbarkeit, ich weiß, dass nur die Prozedur die andere Prozedur nutzt.
Womit die erste Aussage im Grunde stimmt: sowas erhöht die Übersichtlichkeit.