Name('Import skladu z CSV');
Designed('Skl_Man#1');

TxtName:String=GetFileName('*.csv');
Txt:Text;
Open(Txt,TxtName);

DeclareRec('Sklad')
DeclareRec('KeySklad2')
ModifyMode(True);

ValidID:String=' /-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
ValidFin:String='0123456789.'
LocStr:String
LocStr2:String
LocStr3:String
LocStr4:String
LocB:Byte
Pridano:LongInt
Veta:LongInt

while(not EOF(Txt))
  begin
    LocStr=ReadLn(Txt);
    LocStr2=ToChar(#9,LocStr);
    LocStr3=ValidateStr(Trim(LoadTextData(LocStr2)),ValidID);
    if(Length(LocStr3)<>0)
      begin
        ClearRec(Sklad);
        Sklad.Sklad=1;
        Sklad.Material=LocStr3
        LocStr=FromChar(#9,LocStr);
        LocStr2=ToChar(#9,LocStr);
        LocStr3=XTrim(LoadTextData(LocStr2));
        if(Length(LocStr3)<=30)
          begin
            Sklad.Nazev=LocStr3;
          end else
          begin
            LocB=30
            LocStr4=LocStr3
            while((LocB>0)and(not CompareStr(Copy(LocStr3,LocB,1),' ')))
              begin
                Dec(LocB);
              end;
            if(LocB>0)
              begin
                LocStr4=Trim(Copy(LocStr3,1,LocB));
              end;
            Sklad.Nazev=LocStr4;
            Sklad.LongText=LocStr3;
          end;
        LocStr=FromChar(#9,LocStr);
        LocStr2=ToChar(#9,LocStr);
        LocStr3=XTrim(LoadTextData(LocStr2));
        Sklad.MJ=LocStr3;
        LocStr=FromChar(#9,LocStr);
        LocStr2=ToChar(#9,LocStr);
        LocStr3=ValidateStr(TransChar(',','.',XTrim(LoadTextData(LocStr2))),ValidFin);
        Sklad.CenaA=RoundPrice(Val(LocStr3));
        Sklad.Cislo=GetNewIdent();
        BuildKey(KeySklad2,Sklad);
        if(not FindKey(KeySklad2,Veta))
          begin
            if(AddRec(Sklad))
              begin
                Inc(Pridano);
              end;
          end;
      end;
  end;

Message('Bylo přidáno vět: '+Str(Pridano),mb_IconInformation);

END