小编Bru*_*Gee的帖子

德尔福的单元测试 - 你是怎么做到的?

我想知道这里的几个Delphi用户是如何做单元测试的,如果有的话?是否存在与您发现的IDE集成的任何内容?如果没有,你使用什么工具,你是否拥有或知道示例小工程如何运作?

更新:

我忘了提到我正在使用BDS 2006 Pro,虽然我偶尔会使用Delphi 7,当然其他人可能正在使用其他版本.

delphi unit-testing delphi-7 delphi-2006

60
推荐指数
5
解决办法
3万
查看次数

Delphi的免费加密库

我正在寻找一个免费的,最新的Delphi 2010加密库,它实现了RSA和AES(Rijndael).

我想要一个免费的库,因为我打算编写并发布一些将使用它的示例代码.

Delphi 2010版本的TurboPower LockBox已经发布到SongBeamer网站,它实现了这两个,但我担心它会变得有点旧.例如,小RSA密钥大小并且多年没有新的安全功能.

更新: 是否认为LockBox已过期或缺少重要功能?它仍然与生产发展有关吗?(特别是RSA密钥大小)

delphi encryption delphi-2010

27
推荐指数
5
解决办法
4万
查看次数

在Delphi中检测内存泄漏的最佳工具是什么?

什么是检测内存泄漏的最佳工具.

既免费也不免费.

谢谢

delphi memory-leaks

26
推荐指数
8
解决办法
3万
查看次数

Delphi代码格式化程序

是否有任何实用程序重新格式化Delphi代码?

编辑

我正在使用Delphi 2006

一些反馈

感谢所有回答这个问题的人

我一直在使用JCF代码格式化程序 - 它运行良好,我的代码已经格式化为Object Pascal样式指南

delphi code-formatting delphi-2006

24
推荐指数
3
解决办法
3万
查看次数

为什么我不能在Delphi中使用"with"?

我听过很多程序员,特别是Delphi程序员嘲笑使用'with'.

我认为它使程序运行得更快(只有一个对父对象的引用),并且如果使用得当,它更容易阅读代码(少于十几行代码并且没有嵌套).

这是一个例子:

procedure TBitmap32.FillRectS(const ARect: TRect; Value: TColor32);
begin
  with ARect do FillRectS(Left, Top, Right, Bottom, Value);
end;
Run Code Online (Sandbox Code Playgroud)

我喜欢用with.我怎么了?

delphi with-statement

20
推荐指数
6
解决办法
7538
查看次数

为什么自我可以在Delphi中分配?

GUI应用程序中的此代码编译并运行:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Self := TForm1.Create(Owner);
end;
Run Code Online (Sandbox Code Playgroud)

(使用Delphi 6和2009测试)

  • 为什么自我可写而不是只读?
  • 哪种情况可能有用?

编辑:

  • 在Delphi Prism中这也是可能的吗?(我想是的,见这里)

更新:使用Self赋值的Delphi应用程序/库:

delphi oop language-features self delphi-prism

17
推荐指数
3
解决办法
2412
查看次数

如何获取字符串的TextWidth(没有Canvas)?

我想在应用程序启动之前获取字符串的文本宽度.在Application.MainForm画布出现之前,一切正常.问题是,当我尝试在应用程序的OnCreate事件中动态创建TOrdinarium时.主窗体,"Canvas不允许绘图"错误发生.(Application.MainForm是零......).我尝试了几种动态创建Canvas的方法(其中一种是在下面编写的),但它无法测量文本大小而不附加到父级控件.

是否有办法让它以某种方式工作?

感谢名单

我试过这个:

  TOrdinarium = class (TCustomControl)
    private 
       function GetVirtualWidth:integer;
    end;

constructor TOrdinarium.Create(AOwner:TComponent);
begin
 inherited;
 Width:=GetVirtualWidth;
end; 

function TOrdinarium.GetVirtualWidth:integer;
var  ACanvas : TControlCanvas;
  begin
  ACanvas := TControlCanvas.Create;
  TControlCanvas(ACanvas).Control := Application.MainForm; 
  ACanvas.Font.Assign(Font);

  result:=ACanvas.TextWidth('0');

  ACanvas.Free;
  end;
Run Code Online (Sandbox Code Playgroud)

delphi

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

如何提高delphi应用程序的启动速度?

您如何提高Delphi应用程序的启动速度(或减少启动时间)?

除了特定于应用程序,是否有一个标准的技巧总是有效?

注意:我不是在谈论快速算法等.在速度方面,只有启动时的性能提升.

delphi performance startup delphi-2009

14
推荐指数
4
解决办法
3661
查看次数

有效地计算文本宽度

我需要计算具有许多行的列的宽度(列AutoSize功能).使用Canvas.TextWidth太慢了.

当前解决方案:我当前的解决方案使用文本测量器类,该类为固定字母表构建一次查找表,然后通过累加从查找表中检索的字符宽度来非常快速地计算给定字符串的宽度.对于未包含在查找表中的字符,使用平均字符宽度(也计算一次).

问题:这适用于欧洲语言,但不适用于亚洲语言.

问题:解决这个问题的最佳方法是什么?如何在没有相对较慢的Canvas功能且不依赖于特定字母的情况下实现这样的AutoSize功能?

谢谢你的帮助.

delphi internationalization delphi-xe

12
推荐指数
2
解决办法
1373
查看次数

HTML DIV布局

我希望创建一个简单的布局,如下所示.

Div布局

有人可以告诉我如何实现这一目标吗?请原谅"坦率",我来自C#背景,因此开发WEB UI对我来说有点令人生畏.

更新: 我正在玩耍和CSS而不是生产我想要的东西.

html

12
推荐指数
2
解决办法
3万
查看次数