我是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 将整数转换为字符串,然后为每个局部变量 A、B、C、D COPYSTR
... 但它不起作用:(任何人都可以帮助我使用正确的代码吗?
str := format("Id");A:=Str[1];B:=Str[2];
等。。。
或者,如果您希望 A,B,C 作为整数。
str := format("Id");评估(A, Str[1]);评估(B, Str[2]);
您可以尝试以下代码,因为它对我有用:
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;
如果它不适合您,请告诉我。