小编Ant*_*lix的帖子

两个不同子类型的相同记录助手继承

具有源自相同内部类型的两个子类型的类型声明,我们如何为每个子类型具有不同的记录助手?

例:

type
  SingleA = Single;
  SingleB = Single;

  _SingleA = record helper for SingleA
    procedure DoThingsToA;  
  end;

  _SingleB = record helper for SingleB
    procedure DoThingsToB;  
  end;
Run Code Online (Sandbox Code Playgroud)

如果我声明一个类型为SingleA的var,我总是从类型SingleB获得帮助,我知道如果我们覆盖相同的内部类型这是正常的行为,但为什么它会发生在不同的类型?

任何帮助非常感谢...

提前致谢.

delphi record helpers

5
推荐指数
1
解决办法
178
查看次数

Delphi中不同的排列子集排名和排名

问候Delphian堆垛机.

我搜索了网站,所有"排列等级和排名"相关的讨论,找不到符合我需求的那个.

在德尔福:

有一个数组:

Members: array [0..3] of Byte = (0,1,2,3);
Run Code Online (Sandbox Code Playgroud)

如果想要迭代由3个元素组成的所有不同排列,可以估计结果列表将由24行组成,按字典顺序排列为:

0   012
1   013
2   021
3   023
4   031
5   032
6   102
7   103
8   120
9   123
10  130
11  132
12  201
13  203
14  210
15  213
16  230
17  231
18  301
19  302
20  310
21  312
22  320
23  321
Run Code Online (Sandbox Code Playgroud)

可以使用"n选择k"公式计算列表的大小,其中"n"表示成员数,"k"表示选择数:

p(n,k) = n! / (n-k)!
p(4,3) = 4! / (4-3)! = (4 x 3 x 2 x 1) / …
Run Code Online (Sandbox Code Playgroud)

delphi permutation subset distinct rank

0
推荐指数
1
解决办法
217
查看次数

标签 统计

delphi ×2

distinct ×1

helpers ×1

permutation ×1

rank ×1

record ×1

subset ×1