[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Pytanie
W
jaki sposób mogę wej¶ć w posiadanie programu do sprawdzania poprawno¶ci
nr.NIP ?
Robert
Jakubiak patka@patka.com.pl
Funkcja w PASCAL'u, ale łatwo ją zamienić na Progress'ową:
/* ---------------------- */
FUNCTION SkNIP ( SmbNIP : OpSmbNIP ) : Boolean;
{ Sprawda sumę kontrolną NIP pisanego
bez kresek rozdzielających lub z kreskami }
CONST Wagi : String[9] = '657234567';
Modul = 11;
VAR Suma : LongInt;
Reszta : LongInt;
w : Word;
c : Word;
BEGIN { SkNIP }
Suma:=0;
w:=1;
FOR c:=1 TO Length(SmbNIP)-1 DO
IF SmbNIP[c]<>'-' THEN
BEGIN
Inc(Suma,((Ord(SmbNIP[c])-Ord('0'))*(Ord(Wagi[w])-Ord('0'))) MOD Modul);
Inc(w);
END;
Reszta:=Suma MOD Modul;
IF Reszta=10 THEN Reszta:=0;
SkNip:=Chr(Reszta+Ord('0')) = SmbNIP[Length(SmbNIP)];
END { SkNIP };
Henryk Jusza mailto:henju@pg.gda.pl
--------------------------------------------------------------
Ośrodek Informatyczny Politechniki Gdańskiej
Pracownia Rozwoju Oprogramowania
tel (058) 347-28-01 fax (058) 347-24-63