0

Ich bin neu in NAV also vielleicht meine Frage wird ein bisschen noob scheinen, aber hier geht es. Ich habe eine Tabelle erstellt, die ein Feld namens ID-Nummer hat, wo der Benutzer einen 10-stelligen Biginteger (oder Code, IDK, was ist besser) eingeben muss, der seine/ihre ID darstellt. Ich muss eine Funktion erstellen, die prüft, ob diese Zahl durch die Überprüfung korrekt ist, wenn sie folgende Kriterien erfüllt:Erstellen Sie eine Funktion, die überprüft, ob ID-Nummer Kriterien erfüllt

Wenn Zahl ABCDEFGHIJ ist, dann Ziffer J (die Kontrollziffer bezeichnet wird) muss gleich: J=13-(7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J)) MOD 13

und auch muss, unter Kriterien erfüllen:

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

I Funktion FORMAT dachte mit erster Ganzzahl Zeichenfolge zu konvertieren und dann COPYSTR für jede der lokalen Variablen A, B, C, D ... aber es doesn arbeite nicht :( Kann mir bitte jemand mit korrektem Code helfen?

Antwort

1

Str: = Format ("Id"); A: = Str [1]; B: = Str [2];

Etc ...

Oder wenn Sie A, B, dann C als ganze Zahlen.

Str: = Format ("Id"); Bewerten (A, Str [1]); Evaluiere (B, Str [2]);

0

Sie können diesen Code versuchen, wie es für mich gearbeitet:

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; 

Lassen Sie mich wissen, wenn es nicht für Sie arbeiten.