小编klu*_*udg的帖子

在Delphi中是否存在*SysUtils.Format*的反函数

有没有人为Delphi写过'UnFormat'例程?

我想象的是SysUtils.Format反转,看起来像这样

UnFormat('数字%n和另一个%n',[float1,float2]);

因此,您可以使用格式字符串将字符串解压缩为一系列变量.

我看过SysUtils中的'Format'例程,但我从未使用过汇编,所以对我来说没有意义.

delphi function scanf

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

保存N个十进制数字需要多少字节

我有一个任意长度的字符串表示十进制整数值,并将此字符串转换为纯二进制格式的大整数(不是BCD,超过64位).

我正在寻找一个很好的简单估计,在没有使用浮点算术的情况下,确保有多少字节可以保存N个十进制数字.

c delphi algorithm

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

为什么嵌套类型的范围不包含派生类?

我想知道为什么嵌套类型的范围不包括Delphi中的派生类; 它可以使代码更干净:

type
  TBaseTest = class
  public type
    PVector = ^TVector;
    TVector = record
      A, B, R: Integer;
    end;
  public
    procedure Execute(var Vector: TVector); virtual; abstract;
  end;

  TTestA = class(TBaseTest)
  public
// E2003 Undeclared identifier: 'TVector'
    procedure Execute(var Vector: TVector); override;
// workaround:
//  procedure Execute(var Vector: TBaseTest.TVector); override;
  end;
Run Code Online (Sandbox Code Playgroud)

delphi types nested

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

Delphi中的命名空间

使用像MyLib.MyUtils.pas这样的长单元文件名是否有任何实际好处, 或者它只是一种单元名称前缀?

delphi namespaces

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

EOutOfMemory异常是否可以恢复?

捕获EOutOfMemory异常后继续执行是否有意义,或者现在堆或堆栈是否以高概率损坏?

我不是指EOutOfMemory由于写入通配地址等错误导致的先前内存损坏导致的情况,我的意思是调用GetMem和捕获的正确代码EOutOfMemory.

delphi exception out-of-memory

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

从Delphi 2009升级的原因

我提出了"社区维基"这个问题 - 这是主观的.

由于unicode支持,我已升级到Delphi 2009.我发现匿名方法是一个非常有趣和有用的语言功能,我不能说同样的泛型.在升级到Delphi 2009之前,泛型对我来说似乎很重要,但我从未使用它们,可能永远不会使用它们.至于Delphi 2010,我不需要属性,我不喜欢扩展RTTI的整个想法 - 这就是为什么Delphi 2009对我来说更好.有时我会在Delphi 2009 IDE中遇到一个或其他恼人的错误,但它们并不重要,我可以和它们一起生活.我没有计划为Mac或Linux开发软件.当然有时我需要64位支持,所以我想升级到Delphi 2012(XE2).

还有什么理由可以迫使我从Delphi 2009升级?

delphi upgrade delphi-2009 delphi-xe2

8
推荐指数
2
解决办法
814
查看次数

使用Delphi,无法使用anonymus类型作为记录类型?

我不明白为什么以下小型控制台应用程序无法编译:

program Project1;

type
  TProc = reference to procedure;

  TMyRec = record
    Proc: TProc;
  end;

var
  myProc: TProc;
  myRec: TMyRec;

begin
  myProc := procedure begin writeln; end;
  myProc; // compiles fine
  myRec.Proc := procedure begin writeln; end;
  myRec.Proc; //E2014 Statement exptected, but expression of type 'TProc' found
end.
Run Code Online (Sandbox Code Playgroud)

delphi anonymous-methods

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

在Lazarus和Delphi之间选择的预定义符号

我正在寻找一个预定义的符号来编写这样的代码:

{$IFDEF LAZARUS}
// code compiles by fpc/lazarus
{$ELSE}
// code compiles by delphi
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)

delphi freepascal conditional-compilation lazarus

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

XMLDoc Delphi源代码文档生成

我假设XML和Delphi文档指南正在成为源代码记录注释的事实标准.那很好.不好的是我找不到任何完全支持这些标准的Delphi文档生成器(免费或商业)(例如Doc-O-Matic Express不支持<list>标签).

问题是:XML文档标准和Delphi源代码XMLDoc文档生成器现在可以使用了什么?

delphi documentation-generation

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

如何在Free Pascal中使用匿名方法?

我尝试使用Delphi的匿名方法语法:

type
    fun = reference to function(): Integer;
Run Code Online (Sandbox Code Playgroud)

Fpc显示语法错误:

Error: Identifier not found "reference"
Run Code Online (Sandbox Code Playgroud)

什么是免费Pascal相当于Delphi的匿名方法,如果有的话?

delphi lambda closures freepascal anonymous-methods

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