是否可以编写一个以任何序数类型作为参数的方法?Inc()或High()的作用方式相同吗?
我正在使用Delphi 2007
我正在设计一个用于存储客户收费信息的表格.
问题是数据库可能在客户服务器上.
我正在考虑添加第二个包含第一个哈希的表,以便使用数据库的软件可以更新数据库和哈希,但是客户无法编辑(我们不知道)包含收费信息的表(在他们无法生成正确哈希的基础).
这是阻止客户篡改他们可以访问的表的好方法吗?
如何创建表中所有数据的哈希值(可能多于一个表)?
具体来说,我需要在表中散列数据而不是像数据集这样的对象(即,如果我们更改组件,我不希望所有哈希都改变).
我正在考虑将数据写入文本文件并创建文件的哈希值,但这会非常缓慢,因为表可能包含多达500,000条记录,并且需要在每次更新时生成哈希值!
这可以在delphi或c#中实现.
希望这是一个快速的,"如果你知道如何"很容易......
我正在编写某种序列化/脚本类来动态生成表单,我前几天尝试设置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'
我想知道是否可以申报
Value1, Value2: Set of -2..-1;
Run Code Online (Sandbox Code Playgroud)
我收到编译错误:[DCC错误] ShowUtils.pas(98):E2028集最多可能有256个元素.
通过我的数学,2个元素-2和-1为什么编译器认为超过256?
使用Delphi 2007
我们有几个不同的程序都在同一个套件中编译在一起,最近我们报告了一个错误,"The Right Click Shortcut Menu was missing."
因为任何错误我试图重现它并且不能.无论我做了什么,我的系统上都出现了右键菜单.
我的第一个猜测是这是一个操作系统问题.我们知道它适用于Vista和XP,但在Windows 7上却没有.不幸的是,这个问题只影响套件中的一个程序,而且看起来只在这台机器上.AFAIK没有我们编写的任何代码允许或阻止默认菜单出现,所以我不确定为什么它只影响一个程序.
有问题的机器是运行Windows 7的32位机器.还有另一个问题与区域设置有关(我们注意到了倒退日期格式,即使操作系统认为它是英国它已显示MM/DD/YYYY格式,但是在将区域设置更改为其他内容并再次返回时,这已得到修复.这并没有解决问题.
除了编写新的上下文弹出窗口外,有没有人知道我怎么会开始诊断这个问题?是否有我可以调用的API弹出默认菜单,以便我可以监控其行为?一些Windows消息,我可以拦截检查它的全部运行,因为它应该是?
我需要从多种格式的字符串中解析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# 中的另一个 Windows 应用程序运行控制台应用程序 exe(用 c# 开发)。
Process p = Process.Start("strExePath");
Run Code Online (Sandbox Code Playgroud)
我运行的控制台应用程序需要一些用户输入,我想通过运行控制台 exe 文件的 Windows 应用程序的 C# 代码来提供这些用户输入。我怎样才能实现这个目标?
delphi ×5
c# ×3
datetime ×1
delphi-2007 ×1
hash ×1
ipc ×1
ordinal ×1
parameters ×1
parsing ×1
popup ×1
properties ×1
right-click ×1
set ×1
sql-server ×1
types ×1
windows-7 ×1