0

我是 NAV 的新手,所以也许我的问题看起来有点菜鸟,但它就在这里。我创建了一个表格,其中有一个名为 ID 号的字段,用户需要输入一个 10 位的 Biginteger(或代码,IDK 更好),它代表他/她的 ID。我必须创建一个函数,通过检查它是否满足以下条件来检查这个数字是否正确:

如果数字是ABCDEFGHIJ,则数字 J(称为控制数字)必须等于: J=13-( 7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J)) MOD 13

并且,需要满足以下标准:

J <= 9 -> X = J
J > 9 -> X = 0

我想先使用函数 FORMAT 将整数转换为字符串,然后再COPYSTR为每个局部变量 A、B、C、D ......但它不起作用:(谁能帮我提供正确的代码吗?

4

2 回答 2

1

STR := 格式(“ID”);A:=Str[1]; B:=Str[2];

ETC...

或者如果你想要 A,B,C 作为整数然后。

STR := 格式(“ID”);评估(A,Str[1]);评估(B,Str[2]);

于 2016-07-10T21:01:59.530 回答
0

您可以尝试此代码,因为它对我有用:

Num : BigInteger;
Digits : Array of Byte;
I : Integer;

FOR i := 10 DOWNTO 1 DO BEGIN
  Digits[i] := Num MOD 10;
  Num := Num DIV 10;
END;

让我知道它是否不适合你。

于 2016-07-11T14:17:24.430 回答