Designed('AdrMan');
Name('Import kódů 1:2:8 od obchoďáků');

ModifyMode(True)

WNSType(-1)

DeclareRec('Adresar')
DeclareRec('KeyAdresar1')

ZpracKody:Array[1..3] of Byte=1,2,8

Veta:LongInt
TX:Text
LocStr:String
LocStr2:String
LocL:LongInt
LocB:Byte
LocB2:Byte
LocB3:Byte
LocW:Word
LocW2:Word
LocBo:Boolean
Veta:LongInt

Zmena:LongInt
Neni:LongInt
Netreba:LongInt
Pozice:LongInt

Nazev:String=GetINI('Import','ImpAdrJK')
if(Length(Nazev)=0)
  Nazev='*.txt'

Nazev=GetFileName(Nazev)

SetINI('Import','ImpAdrJK',Nazev)

Open(TX,Nazev);

InitStatus(FileSize(TX),'Načítám soubor ...');

While(not EOF(TX))
  begin
    LocStr=ReadLn(TX)
    LocStr2=UpCase(ToChar(#9,LocStr))
    if(CompareStr(LocStr2,'H:128'))
      begin
        LocStr=FromChar(#9,LocStr)
        LocL=Val(ToChar(#9,LocStr))
        if(LocL<>0)
          begin
            KeyAdresar1.Length=4
            KeyAdresar1.ICO=SwapL(LocL)
            if(FindKey(KeyAdresar1,Veta))
              begin
                ReadRec(Adresar,Veta)
                LocB=0
                While(LocB<15)
                  begin
                    Inc(LocB)
                    LocStr=FromChar(#9,LocStr)
                  end
                LocB=0
                LocBo=False
                While(LocB<8)
                  begin
                    Inc(LocB)
                    if(InArray(ZpracKody,LocB))
                      begin
                        LocB2=Val(ToChar(#9,LocStr))
                        if(LocB2<>Adresar.Kod[LocB])
                          begin
                            LocBo=True
                            Adresar.Kod[LocB]=LocB2
                          end;
                      end;
                    LocStr=FromChar(#9,LocStr)
                  end
                if(LocBo)
                  begin
                    ModifyRec(Adresar,Veta)
                    Inc(Zmena)
                  end else
                  begin
                    Inc(Netreba)
                  end;
              end else
              begin
                GoTo Neni;
              end
          end;
      end;
    SetStatus(FilePos(TX));
  end;

Close(TX);

Message('Nahráno položek: '+Str(Zmena)+#13+'Netřeba měnit: '+Str(Netreba)+#13+'Nenalezeno položek:'+Str(Neni));

END