我正在使用Delphi 2009编写一个使用Access数据库的应用程序.
我注意到MS Access'ORDER BY似乎正在排序像AnsiCompareText这样的国际字符集,而在我的应用程序中,我正在使用它SysUtils.CompareText.
Access' (Jet's) ORDER BY results (delphi AnsiCompareText( ) is the same)
Nørmork
Öster
RAM
delphi CompareText( )
Nørmork
RAM
Öster
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个正确的电话进行比较?
注意:我使用美国英语作为我的语言环境.
对不起,我对此不太了解.有许多网站详细讨论了相关主题,但我还没有看到哪个网站最合适.
谢谢!
我有一个流程面板,我根据他们是否选择显示所有项目,在运行时添加额外的项目.这一切都很好; 扩展由工具栏按钮控制.
问题是我们希望用户能够将鼠标移到"+"符号上以展开该部分.

最初我看了TSpeedButton(OnMouseEnter),但即使它是"平面",焦点矩形仍然显示,所以字形不居中.这个解决方案的主要问题是它的外观.
然后我看着制作TImage的后代.这有点"非常规",但它有效.在OnMouseEnter或OnClick中,它会切换一个内部布尔"Expanded"标志,然后从资源加载适当的图片.我不喜欢这样的非常规解决方案.
我需要将它添加到几个不同的屏幕,所以我可能会谨慎地为此构建/构建组件.我有JVCL,但我没有看到任何合适的副手.
谢谢你的意见/帮助!
当我们的USB设备连接时,我需要启动我的应用程序.
我第一次尝试这是一个后台应用程序,注意插入USB设备时.当它注意到我们的设备连接时,它调用ShellExecute()并启动我们的应用程序.
除了在Windows 8中,这很有效.假设我们在Windows 8的"开始"屏幕上.在这种情况下,应用程序在后台启动,并且开始屏幕保持在前面.
我认为这是一个"焦点"问题,因为我实际上希望做的是从"开始"屏幕"偷取焦点".
http://blogs.msdn.com/b/oldnewthing/archive/2009/02/20/9435239.aspx
由于我的后台应用程序没有焦点("开始"屏幕具有焦点;此外,我的应用程序没有UI),因此无法将焦点放在我的前台应用程序上.
让我说,总的来说,我讨厌集中窃取.启动用户想要使用的应用程序对我们的用户来说是一个很大的帮助.
我该如何解决这个问题?也许答案是以编程方式要求启动屏幕启动我的应用程序,但我没有看到这样做的方法:
也许我正以错误的方式接近这一点.建议?
我有一个各种类的实例列表.我需要能够在不知道要创建什么的情况下创建类的新实例.所涉及的所有对象都具有相同的祖先.实际复制对象的成员变量很容易......这是我遇到问题的新对象的创建.
不可否认我可以这样做:
case MyObjectTypeInstance.MyTypeEnum of
obj1:
Result:=TObjectType1.Create;
obj2:
Result:=TObjectType2.Create;
obj3:
Result:=TObjectType3.Create;
end;
Run Code Online (Sandbox Code Playgroud)
这不符合"开放/封闭原则".
最初我以为我可以做一些像"结果:= MyObjectTypeInstance.Create;" 但由于破坏者的困难,这并不像希望的那样有效.
这是最新的猜测我应该怎么做...
var
fooA, fooB:TFoo;
begin
fooA:=TFoo2.Create; // it could be any of many types
fooB:=? // how to create fooB of same class type as fooA????
// do something
fooA.Free;
fooB.Free;
end;
Run Code Online (Sandbox Code Playgroud)
我会以为这会更容易!
谢谢您的帮助!
我们一直在使用Pro Essentials图形(gigasoft.com),但它与delphi不能很好地兼容,所以它一直在引发问题.
我们需要显示波形和条形图(不是同时显示).波形可能有数千个点.我们需要一些功能齐全的东西,这是一种"活的"产品.
我们的应用程序是本机win32 delphi 2009应用程序.
谢谢你的建议!
如何比较MySQL数据库中的这个日期时间?
我使用MySQL函数now()在数据库记录中发送日期,并试图检测超过30天的记录.
if (date_diff($myrow["LastLogin"], time()) > -30) {
}
Run Code Online (Sandbox Code Playgroud)
$myrow["LastLogin"]确实包含有效值,因为我将其视为文本.在数据库中确认它是"日期时间"类型.
这里有更多的代码.
if ($myrow = mysql_fetch_array($result_set)) {
do {
if (date_diff($myrow["LastLogin"], getdate()) > -30) {
echo "<tr>";
echo "<td>" . $myrow["PCName"] . ' </td>';
echo "<td>" . $myrow["LastLogin"] . ' </td>';
echo "</tr>\n";
}
} while ($myrow = mysql_fetch_array($result_set));
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
delphi ×5
delphi-2009 ×3
charts ×1
components ×1
focus ×1
focusmanager ×1
graphing ×1
mysql ×1
php ×1
rtti ×1
sorting ×1
windows ×1