有没有人为Delphi写过'UnFormat'例程?
我想象的是SysUtils.Format的反转,看起来像这样
UnFormat('数字%n和另一个%n',[float1,float2]);
因此,您可以使用格式字符串将字符串解压缩为一系列变量.
我看过SysUtils中的'Format'例程,但我从未使用过汇编,所以对我来说没有意义.
我有一个任意长度的字符串表示十进制整数值,并将此字符串转换为纯二进制格式的大整数(不是BCD,超过64位).
我正在寻找一个很好的简单估计,在没有使用浮点算术的情况下,确保有多少字节可以保存N个十进制数字.
我想知道为什么嵌套类型的范围不包括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) 使用像MyLib.MyUtils.pas这样的长单元文件名是否有任何实际好处, 或者它只是一种单元名称前缀?
捕获EOutOfMemory异常后继续执行是否有意义,或者现在堆或堆栈是否以高概率损坏?
我不是指EOutOfMemory由于写入通配地址等错误导致的先前内存损坏导致的情况,我的意思是调用GetMem和捕获的正确代码EOutOfMemory.
我提出了"社区维基"这个问题 - 这是主观的.
由于unicode支持,我已升级到Delphi 2009.我发现匿名方法是一个非常有趣和有用的语言功能,我不能说同样的泛型.在升级到Delphi 2009之前,泛型对我来说似乎很重要,但我从未使用它们,可能永远不会使用它们.至于Delphi 2010,我不需要属性,我不喜欢扩展RTTI的整个想法 - 这就是为什么Delphi 2009对我来说更好.有时我会在Delphi 2009 IDE中遇到一个或其他恼人的错误,但它们并不重要,我可以和它们一起生活.我没有计划为Mac或Linux开发软件.当然有时我需要64位支持,所以我想升级到Delphi 2012(XE2).
还有什么理由可以迫使我从Delphi 2009升级?
我不明白为什么以下小型控制台应用程序无法编译:
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) 我正在寻找一个预定义的符号来编写这样的代码:
{$IFDEF LAZARUS}
// code compiles by fpc/lazarus
{$ELSE}
// code compiles by delphi
{$ENDIF}
Run Code Online (Sandbox Code Playgroud) 我假设XML和Delphi文档指南正在成为源代码记录注释的事实标准.那很好.不好的是我找不到任何完全支持这些标准的Delphi文档生成器(免费或商业)(例如Doc-O-Matic Express不支持<list>标签).
问题是:XML文档标准和Delphi源代码XMLDoc文档生成器现在可以使用了什么?
我尝试使用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 ×10
freepascal ×2
algorithm ×1
c ×1
closures ×1
delphi-2009 ×1
delphi-xe2 ×1
exception ×1
function ×1
lambda ×1
lazarus ×1
namespaces ×1
nested ×1
scanf ×1
types ×1
upgrade ×1