出于教育原因,我正在寻找一个具有良好单元测试覆盖率的开源Delphi项目.优先考虑受测试驱动开发的项目.项目的规模无关紧要.
主题应该是商业或游戏开发,但不是网络项目.
任何提示?
编辑:
感谢您的建议,但我更喜欢那些请求来自"普通"用户而不是来自CRM或ERP系统等程序员的项目.例如,任务计划程序或跳转运行游戏.有没有人见过这样的东西?
当某些行具有空值时,我应该如何索引日期列?我们必须在日期范围和具有空日期的行之间选择行.
我们使用Oracle 9.2及更高版本.
我找到的选项
我对选项的看法是:
到1:表必须使用许多不同的值才能使用位图索引
2:我必须仅为此目的添加一个字段,并在我想要将空日期行检索
为3 时更改查询:锁定棘手以添加字段到一个不是真正需要的索引
这种情况的最佳做法是什么?提前致谢
我读过的一些信息:
Oracle Date Index
Oracle什么时候索引空列值?
我们的表有300,000条记录.每天插入1,000到10,000条记录并删除.280,000条记录的deliver_at日期为null.它是一种挑选缓冲区.
我们的结构(翻译成英文)是:
create table orders
(
orderid VARCHAR2(6) not null,
customerid VARCHAR2(6) not null,
compartment VARCHAR2(8),
externalstorage NUMBER(1) default 0 not null,
created_at DATE not null,
last_update DATE not null,
latest_delivery DATE not null,
delivered_at DATE,
delivery_group VARCHAR2(9),
fast_order NUMBER(1) default 0 not null,
order_type NUMBER(1) default 0 not null,
produkt_group VARCHAR2(30)
)Run Code Online (Sandbox Code Playgroud) 如何监视或可视化delphi应用程序的内存碎片?
如何实现像Firefox这样的TPageControl的TTabsheet的关闭按钮?
编辑:
Delphi版本:Delphi 2010
操作系统:Windows XP及更高版本
如何确定用户帐户是否是AD组的成员,尤其是当用户不是该组的直接成员时
一个例子:
IsUserMemberOf('user1', 'group2')应为TRUE对于.NET,有一个解决方案:
static bool IsUserMemberOf(string userName, string groupName)
{
using (var ctx = new PrincipalContext(ContextType.Domain))
using (var groupPrincipal = GroupPrincipal.FindByIdentity(ctx, groupName))
using (var userPrincipal = UserPrincipal.FindByIdentity(ctx, userName))
{
return userPrincipal.IsMemberOf(groupPrincipal);
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能用Delphi(Delphi-2007)做到这一点?
解:
我接受了Remko的答案,但由于他的代码在Delphi-2007(某些String/WideString问题)下不起作用,这里是我正在运行的D2007版本:
unit Unit1;
interface
uses // Jedi ApiLib
SysUtils, Classes, Windows, JwaActiveDs, JwaAdsTlb, JwaNative, JwaWinNT, JwaWinBase,
JwaNtSecApi, JwaNtStatus, JwaWinType;
type
// Some Helper Types
TSidArray = array of PSID;
PSidArray = ^TSidArray;
TAdsValueArray = array[0..ANYSIZE_ARRAY-1] of ADSVALUE;
PAdsValueArray …Run Code Online (Sandbox Code Playgroud) 我收集了一些delphi 2010试用版的经验.我正在寻找一个简单的调试可视化工具,因为示例调试可视化工具不是路径的一部分.我做了很多新的rtti类型TValue和TValue.ToString无法从调试器调用(导致异常),所以我的想法是为它编写调试可视化器.格式应该是这样的
(<data-type)<ToString-value>
Run Code Online (Sandbox Code Playgroud)
例子
(integer)5
(string)'Hello World'
(Array<String>)['a', 'list', 'of', 'items']
Run Code Online (Sandbox Code Playgroud)
有一个简单的调试值替换器演示(我认为这就是名字:-))我可以开始了.
我编写了一个组件,它应该存储一些与项目目录相关的信息.每次更改组件的属性时,都应该写一个文件.那么组件如何在设计时确定当前项目目录.
提前致谢
编辑:
我想在每次更改组件的属性时生成delphi源文件,以便在编译代码时始终获得最新版本.可以把它想象成一种代码生成器.
目前我设置了存储源的整个路径和文件名,但我更喜欢项目的相对路径(或包含我的组件的表单/ datamodule),以便更容易在不同的开发人员机器上复制项目.
到现在为止,每当我想创建一个文件而不覆盖现有文件时,我就做了这样的事情:
if not FileExists(filename) then
stream := TFileStream.Create(filename, fmCreate);
Run Code Online (Sandbox Code Playgroud)
但这不是线程安全的.所以现在我正在寻找一个线程安全版本.
也许我可以组合一些模式,以便TFileStream.Create(filename, fmCreate +fm???);在文件存在时失败?
我需要这个与旧DOS程序通信目录锁.但是DOS程序没有打开文件.:-(
Delphi程序应该用尼康D5000AF SDX制作产品照片.我需要的唯一命令是"拍照","给我照片".
哪个库或API可以帮助我?
目前我给delphi2010一个试验,发现了TVtue类型的Rtti单元.TValue具有非常有趣的功能,但我找不到分配界面的方法.
我尝试以下方法
program Project1;
uses
Classes, SysUtils, Rtti;
var
list : IInterfaceList;
value : TValue;
begin
// all these assignments works
value := 1;
value := 'Hello';
value := TObject.Create;
// but nothing of these assignments works
list := TInterfaceList.Create;
value := list; // [DCC Fehler] Project1.dpr(15): E2010 incompatible types: 'TValue' and 'IInterfaceList'
value.From[list]; // [DCC Fehler] Project1.dpr(16): E2531 Method 'From' requires explicit typarguments
value.From<IInterfaceList>[list]; // [DCC Fehler] Project1.dpr(17): E2035 Not enough parameters
end.
Run Code Online (Sandbox Code Playgroud)
我找不到任何进一步的信息.不是在delphi帮助系统而不是在互联网上.我做错了什么?
delphi ×10
delphi-2010 ×3
api ×1
camera ×1
components ×1
debugging ×1
delphi-2007 ×1
design-time ×1
indexing ×1
memory ×1
null ×1
optimization ×1
oracle ×1
rtti ×1
sdk ×1
tdd ×1
themes ×1
tpagecontrol ×1
ttabsheet ×1
unit-testing ×1