Delphi 运行时在DBGrid列中自动将RangeArray(1.00-11.59)中的条目号(1.30)转换为(1:30)

Delphi 运行时在DBGrid列中自动将RangeArray(1.00-11.59)中的条目号(1.30)转换为(1:30),delphi,Delphi,我正在开发一个时间表应用程序,用户将在其中输入员工早上、下午和晚上的工作时间(加班) 我们都知道这对用户来说是一项非常乏味的工作,我试图找到一种方法让用户更容易,特别是使用句点(.)而不是冒号(:)作为时间条目 比如说: 用户在标题为“AM时间输入”的DBGrid列中输入8.15。 按下“回车”键后,计算机自动转换为上午8:15 因此,, 1.在我的Delphi10.3Rio中有没有一种方法可以做到这一点? 2.我还想把24小时制改成12小时制 我将非常感谢您的帮助。谢谢。您应该为特定字段/DB

我正在开发一个时间表应用程序,用户将在其中输入员工早上、下午和晚上的工作时间(加班)

我们都知道这对用户来说是一项非常乏味的工作,我试图找到一种方法让用户更容易,特别是使用句点(.)而不是冒号(:)作为时间条目

比如说: 用户在标题为“AM时间输入”的DBGrid列中输入8.15。 按下“回车”键后,计算机自动转换为上午8:15

因此,, 1.在我的Delphi10.3Rio中有没有一种方法可以做到这一点? 2.我还想把24小时制改成12小时制

我将非常感谢您的帮助。谢谢。

您应该为特定字段/DBGrid列设置一个。这将允许您使用EditMaks本身自动输入所需的句号或冒号字符,这样您的用户就不必自己编写它们

编辑掩码最常用于接受日期和时间信息的字段。
但它们基本上可以用于任何具有固定格式的数据输入,例如电话号码、车载电话号码、IP地址号码等等


PS:如果你正在开发你的应用程序以供世界各地使用,不要忘记不同的国家使用不同的格式来表示时间和日期。这意味着您必须在运行时设置适当的
EditMask
值。

尝试正在使用的数据集的before-post事件以及如何格式化dbgrid单元格为什么不为某些字段/dbgrid列设置一个?通过使用
EditMask
您可以实现,这样用户甚至不必输入句号或冒号字符。@SilverWarior它的工作原理就像charm!我想要的方式。非常感谢你@NasreddineGalfout感谢您的建议,但后者似乎对我有效。我希望SilverWarior的解决方案被标记或投票作为答案,但我不知道如何在这里做到这一点?感谢这一非常深刻的解决方案。非常感谢!然而,我还有一个问题,我忘了坚持到底。如何将24小时格式更改为12小时格式。就像你说的,我应该注意不同的格式。