[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