在这个demo中,我试图弄清楚这段代码是如何工作的,我就这样停下来了:
type
TOpenWeatherRequest = (ByCoords);
如何定义类型TOpenWeatherRequest
?括号是什么意思?
答案 0 :(得分:5)
这意味着一个可枚举的类型,作为一个const,你可以在集合中使用它并用它做一些逻辑运算。
例如:在国际象棋棋盘中,您可以定义文字名称来表示该片段:
type
TChessPiece = (cpKing, cpBishop, cpKnight, cpRoque, cpQueen, cpPawn);
var
Piece: TChessPiece;
Piece := cpBishop;
在课堂上看一个非常有趣的用法
type
TChessBoard = class
private
FPiece: TChessPiece;
public
constructor Create(Piece: TChessPiece);
procedure ShowValidMove;
end;
implementation
procedure TChessBoard.ShowValidMove;
begin
case FPiece of
cpKing: ShowMessage('Neighboard squares');
cpBishop: ShowMessage('Diagonal squares');
cpKnight: ShowMessage('L squares');
cpRoque: ShowMessage('Parallel squares');
cpQueen: ShowMessage('Roque AND Bishop squares');
cpPawn: ShowMessage('Goes to front, captures short diagonal');
end;
end;
查看我对此问题的回答,我建议使用Enumerable类型来解析逻辑矩阵以隐藏某些特定的TabControl How to hide multiple tabs in TTabcontrol
答案 1 :(得分:2)
这是一个enumerated type,具有单个序数值。