Er ist aus zwei Gründen, meiner Meinung nach, schlechter:
Erstmal hast du eine globale Variabel i (allein der Name ist schlecht, da man die meisten Zählvariablen mit i benennt.). Meine Variable FCount hingegen ist ein Feld der Klasse TForm1, und somit
OOP gerecht.
Zweitens:
i := i-1;
Steht
Dec(i);
gegenüber. Ab D5 erzeugt der Compiler zwar identischen Assembler Code, nur halte ich meine Schreibweise für einfacher lesbar.
Und gerade wenn es ein Anfänger ist sollte man ihm nicht eine schlechtere aber einfach verstehbare Lösung geben, sondern eine richtige und
OOP gerechte. Sonst lehrnt er es nie bzw. gewöhnt sich einen schlechten Stil an, weil er es nicht besser weiß bzw. gelernt hat.