案例语句中的Delphi类型常量

前端之家收集整理的这篇文章主要介绍了案例语句中的Delphi类型常量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Delphi的case语句中使用类型常量的最优雅(或最不丑陋)的方法是什么?

也就是说,假设您需要声明一个类型化的常量

const
  MY_CONST: cardinal = $12345678;
  ...

那么Delphi编译器就不会接受

case MyExpression of
  MY_CONST: { Do Something };
  ...
end;

但你需要写

case MyExpression of
  $12345678: { Do Something };
  ...
end;

这容易出错,难以更新,也不优雅.

是否有任何技巧可以使编译器插入常量的值(最好通过在源代码中检查const下的常量值,但也可以通过在运行时查找值)?我们假设您不会在运行时更改“常量”的值.

解决方法

根据您为什么需要输入常量,您可以尝试类似的东西
const
  MY_REAL_CONST = Cardinal($12345678);
  MY_CONST: Cardinal = MY_REAL_CONST;

case MyExpression of
  MY_REAL_CONST: { Do Something };
  ...
end;

猜你在找的Delphi相关文章