Man kann auch Konstanten definieren, um Magic Values zu vermeiden, das erhöht die Lesbarkeit des Codes.
Ich weiß nicht ob ich dir widersprechen oder zustimmen soll. Der Widerspruch wäre: guck, auch in den Delphi Units gibt es Magic Values. Warum soll man es besser als Delphi machen? Die Zustimmung wäre: ich hab mich mal etwas genauer mit RTF und Fonts auseinandergesetzt weil ist es brauchte. Ich benötigte nicht alle Details, aber mehr als die Hilfe verriet. Dazu habe ich etwas im Delphi-Code gestöbert und bin stets auf Zahlen gestoßen mit denen ich nichts anzufangen wußte. Als ich nach Tagen alle Magic Values entschlüsselt habe, wußte ich für kurze Zeit fast alles über RTF und Fonts
Nur eine Auswahl auf die Schnelle:
Delphi-Quellcode:
procedure TCustomRichEdit.Print(const Caption: string);
...
begin
...
if IsRectEmpty(PageRect) then
begin
rc.right := PageWidth * 1440 div LogX;
rc.bottom := PageHeight * 1440 div LogY;
end
function TTextAttributes.GetSize: Integer;
...
begin
...
Result := Format.yHeight div 20;
end;
function TTextAttributes.GetHeight: Integer;
begin
Result := MulDiv(Size, RichEdit.FScreenLogPixels, 72);
end;