С чего-то нужно было начинать, поэтому я начну с того о чем уже упоминал. Несмотря на то, что в документации BDS 2006 не сказано о наличии record helper'ов для платформы Win32 (я во всяком случае не нашел) эта изумительная вещица работает! Простейший пример иллюстрирует всю прелесть данной конструкции:
TypeTRectHelper = Record Helper For TRect
Function GetWidth : Integer; Inline;
Function Getheight : Integer; Inline;
Property Width : Integer Read GetWidth;
Property Height : Integer Read GetHeight;
End;
...
//
Function TRectHelper.GetWidth : Integer;
Begin
With Self Do
Result := Right - Left;
End;
//
//
Function TRectHelper.GetHeight : Integer;
Begin
With Self Do
Result := Bottom - Top;
End;
//После чего все переменные типа TRect получают свойства Width и Height.
Комментариев нет:
Отправить комментарий