T
означает «тип», и он используется как обычный префикс для невстроенных типов в целом, а не только для типов классов:
type
TFileName = type string; // string
TErrorCode = 1..100; // subrange type
TCarSize = (csSmall, csMedium, csLarge); // enumeration
TCarSizes = set of TCarSize; // set
TPersonRec = record // record
FirstName: string;
LastName: string;
Age: Integer;
end;
TSuperBitmap = class(TBitmap) // class
{...}
end;
TDeviceData = array[0..1023] of Byte; // static array
TLogProc = procedure(const AMessage: string; AKind: TLogKind); // procedural type
// and so on
Однако обычные префиксы для типов указателей, типов исключений и типов интерфейса: P
, E
и I
соответственно:
type
PPersonRec = ^TPersonRec;
ESyntaxError = class(EScriptException);
ISoundPlayer = interface
{...}
end;
Существует несколько других соглашений, например F
для полей:
type
TCar = class
strict private
FModel: string;
FColor: TColor;
FWeight: Double;
end;
И A
для аргументов:
procedure MyShowMessage(const AMessage: string; AIconType: TIconType);
Иногда люди используют L
для локальных переменных:
procedure MyShowMessage(const AMessage: string; AIconType: TIconType);
var
LCaption: string;
LIcon: HICON;
begin
end;