小编Jam*_*ass的帖子

传递序数参数

是否可以编写一个以任何序数类型作为参数的方法?Inc()或High()的作用方式相同吗?

我正在使用Delphi 2007

delphi parameters types delphi-2007 ordinal

4
推荐指数
1
解决办法
1370
查看次数

防篡改表

我正在设计一个用于存储客户收费信息的表格.
问题是数据库可能在客户服务器上.
我正在考虑添加第二个包含第一个哈希的表,以便使用数据库的软件可以更新数据库和哈希,但是客户无法编辑(我们不知道)包含收费信息的表(在他们无法生成正确哈希的基础).

这是阻止客户篡改他们可以访问的表的好方法吗?
如何创建表中所有数据的哈希值(可能多于一个表)?

具体来说,我需要在表中散列数据而不是像数据集这样的对象(即,如果我们更改组件,我不希望所有哈希都改变).

我正在考虑将数据写入文本文件并创建文件的哈希值,但这会非常缓慢,因为表可能包含多达500,000条记录,并且需要在每次更新时生成哈希值!

这可以在delphi或c#中实现.

c# sql-server delphi hash

3
推荐指数
1
解决办法
461
查看次数

delphi如何转换ModalResult属性?

希望这是一个快速的,"如果你知道如何"很容易......

我正在编写某种序列化/脚本类来动态生成表单,我前几天尝试设置TColor并得到一个错误 clBtnFace is not a valid integer value或类似的东西,发现属性中使用的常量已注册,以便它们可以转换到整数,所以我添加了代码来获取转换器并使用它.

今天我有一个与ModalResult属性类似的问题,但我无法弄清楚DFM反序列化器如何处理这个属性?有什么想法它如何转换mrOK成整数?

编辑

没有太多的例子可以给出:

PropInfo := GetPropInfo(Instance, PropertyName);
SetPropValue(Instance, PropInfo, PropertyValue);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Instance是TButton,PropertyName是'ModalResult',PropertyValue是'mrOK'

delphi serialization properties

3
推荐指数
1
解决办法
2297
查看次数

负子范围错误

我想知道是否可以申报

Value1, Value2: Set of -2..-1;
Run Code Online (Sandbox Code Playgroud)

我收到编译错误:[DCC错误] ShowUtils.pas(98):E2028集最多可能有256个元素.

通过我的数学,2个元素-2和-1为什么编译器认为超过256?

使用Delphi 2007

delphi set

3
推荐指数
1
解决办法
341
查看次数

Windows 7中缺少右键单击菜单

我们有几个不同的程序都在同一个套件中编译在一起,最近我们报告了一个错误,"The Right Click Shortcut Menu was missing."
因为任何错误我试图重现它并且不能.无论我做了什么,我的系统上都出现了右键菜单.

我的第一个猜测是这是一个操作系统问题.我们知道它适用于Vista和XP,但在Windows 7上却没有.不幸的是,这个问题只影响套件中的一个程序,而且看起来只在这台机器上.AFAIK没有我们编写的任何代码允许或阻止默认菜单出现,所以我不确定为什么它只影响一个程序.

有问题的机器是运行Windows 7的32位机器.还有另一个问题与区域设置有关(我们注意到了倒退日期格式,即使操作系统认为它是英国它已显示MM/DD/YYYY格式,但是在将区域设置更改为其他内容并再次返回时,这已得到修复.这并没有解决问题.

除了编写新的上下文弹出窗口外,有没有人知道我怎么会开始诊断这个问题?是否有我可以调用的API弹出默认菜单,以便我可以监控其行为?一些Windows消息,我可以拦截检查它的全部运行,因为它应该是?

delphi popup right-click windows-7

2
推荐指数
1
解决办法
1101
查看次数

在C#中解析DateTimeOffset字符串

我需要从多种格式的字符串中解析datetimeoffsets.其中一个失败的字符串是:08/12/1992 07.00.00 -05:00

现在当我尝试解析这个时,我使用:

DateTimeOffset.ParseExact("08/12/1992 07.00.00 -05:00", "dd/MM/yyyy HH:mm:ss zzz", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

这给了一个FormatException:

"字符串未被识别为有效的DateTime."

我也可以尝试在分隔符中添加分隔符:

DateTimeOffset.ParseExact("08/12/1992 07.00.00 -05:00", "dd'/'MM'/'yyyy HH':'mm':'ss zzz", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

...或其他小/大写字母或分隔符的排列,但我得到同样的错误.

任何人都可以告诉我为什么上面的ParseExact行不起作用,以及如何纠正它们?

编辑:我尝试使用LINQ查询用点(: - >.)替换冒号.显然这不能正常工作 - 感谢回复.

c# datetime parsing datetimeoffset

1
推荐指数
1
解决办法
6166
查看次数

如何通过 C# 代码向控制台应用程序提供用户输入

我正在用 c# 中的另一个 Windows 应用程序运行控制台应用程序 exe(用 c# 开发)。

  Process p = Process.Start("strExePath");
Run Code Online (Sandbox Code Playgroud)

我运行的控制台应用程序需要一些用户输入,我想通过运行控制台 exe 文件的 Windows 应用程序的 C# 代码来提供这些用户输入。我怎样才能实现这个目标?

c# ipc

0
推荐指数
1
解决办法
3091
查看次数