【发布时间】:2014-05-29 14:55:48
【问题描述】:
在一个在 Delphi 6(非 Unicode 平台)下编写的旧应用程序中,我过去常常通过在 ANSI 字符表中引用它们的单元格编号来过滤掉不可键入的字符( if (aKeyChar in [#32. .#254]) 然后.... ).
现在我转移到基于 Unicode 的平台的 Delphi 2010,这些字符映射不再相关。在 Delphi 2010 中是否有一种干净的方法可以实现这一目标?
【问题讨论】:
-
使用CharInSet函数?
-
请定义“不可输入”的含义。我很确定少于 32 的 ASCII 字符是可输入的,如果你知道的话。你的意思是“不可打印”。无论如何,你需要在这里定义你的意思。
-
@whosrdaddy
ord(aKeyChar)<32我认为更干净 -
@DavidHeffernan,完全同意,只是指出 [Enum] 中 x 是 Char 的 x 现在必须使用 CharInSet 函数。
-
@DavidHeffernan,“不可输入”字符是指退格,删除...
标签: delphi unicode delphi-2010