Program pre spravu objednávok ľalúzií.

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Category: Source in Pascal
zaluzie.pngProgram: Zaluzie.pasArchiv.pasDealer.pasFarba.pasFax.pasFilter.pasFormul.pasFyzic.pasHelp.pasKniznic.pasMiesto.pasMzdy.pasOption.pasPr_zal.pasRead_dbf.pasRedef.pasSdv.pasTlac.pasTrsek.pasZaluz.pasZostavy.pas
File exe: Zaluzie.exe
need: Zaluzie.zipHelp.datDealerDealer.$$$Fax.datKumuly.$$$Kumuly.frmKumuly.kumMeracMontazOption.dbfOption.frmOption.indPoradie.datVystup.txtZaluzie.dbfZaluzie.datZaluzie.frmZaluzie.indZaluzie.txtZostava.frm

Program bol vytvorený pre vnutorné potreby firmy KOMA pre spravu objednávok ľalúzií.

Bliľąí popis jednotlivých funkcií:
F2 - Zalúzia
Slúľi ako nosná čas» celého tohto programu dajú sa v ňom zadáva» informácie o objednávateµovi ako jeho MENO, ADRESA, PODLA®IE.
Kvôli neskorąím rozpisom je moľné vyplni» (©TVR«) program sa potom bude týmto riadi».
Ďalej informácie o tom kto bol dohadzovač (DEALER), kto odmeriaval ľalúziu (MERAČ) a nakoniec mená aľ troch (MONTÁ®NIKOV).
Je moľné ďalej vyplni» DATUM OBJEDNAVKY, s tým, ľe program okamľite prepočíta kedy uplyie doba 14 dní na vykonanie montáľe (LEHOTA).
Ak je nám známa CENA ľalúzie po je vyplnení okamľite vypočítava DOPLATOK. Po vyplnení ZALOHY je vypočítaný doplatok znova.
Pri vyplňovaní mzdových nákladov máme pribliľný mzdový charakter pre jednotlivých zainteresovaných.
®alúzie sa vypĺňajú intuitívne pričom ak nie je zadaná farba nie je moľné vyplni» ľalúziu ďaląiu.

Číselníky pre STVRT, DEALER, MERAC, MONTAZNIK, FARBA sú aktivované okamľite po stlačení klávesy ENTER. Potom si stačí vybra» potrebné a znova stlači» ENTER. Ak vąak má uľívateµ čísla v krvi stačí napísa» priamo číslo program si uľ neako poradí sám.

F3 - DEALER, F5 - MERAC, F6 - MONTAZ, F4 - FARBA
Okno pre doplnenie číselníka dealerov (meračov, montáľnikov farieb). Pohyb ąipkami, ESC - koniec práce, DEL - označ dealera na zmazanie.

F4 - ULICA
Okno pre doplnenie číselníka ulíc. Ostatné ako u DEALER. Ak vąak stlacíte ENTER na poloľke vpravo objaví sa vám okno MESTO, kde si vyberiete do akého mesta potrí ulica. Aj v meste je eąte moľné vybra» KRAJ. ( Upozorňujem, ľe názvy sú pracovné. Znamená, ľe ich pouľitie môľe by» iné).
{ ZALUZIE.PAS               Copyright (c) TrSek alias Zdeno Sekerak }
{                                                                   }
{ Program bol  vytvoreně pre vnutorn‚ potreby  firmy KOMA           }
{ pre spravu objedn vok §alŁziˇ.                                    }
{                                                                   }
{ Bli§çˇ popis jednotlivěch funkciˇ:                                }
{ F2 - ZalŁzia                                                      }
{          SlŁ§i ako nosn  źasś cel‚ho tohto programu dajŁ sa v ĺom }
{     zad vaś inform cie o objedn vate–ovi ako jeho                 }
{     MENO, ADRESA, PODLA¦IE.                                       }
{          Kv“li neskorçˇm rozpisom je mo§n‚ vyplniś (ćTVR›)        }
{     program sa potom bude těmto riadiś.                           }
{         Ňalej inform cie  o tom kto bol  dohadzovaź (DEALER), kto }
{     odmeriaval   §alŁziu  (MERA¬)   a  nakoniec   men   a§  troch }
{     (MONTµ¦NIKOV).                                                }
{          Je  mo§n‚  Ôalej  vyplniś  DATUM  OBJEDNAVKY,  s těm, §e }
{     program  okam§ite  prepoźˇta  kedy  uplyie  doba  14  dnˇ  na }
{     vykonanie mont §e (LEHOTA).                                   }
{          Ak  je n m  zn ma CENA  §alŁzie po  je vyplnenˇ okam§ite }
{     vypoźˇtava  DOPLATOK.   Po  vyplnenˇ  ZALOHY   je  vypoźˇtaně }
{     doplatok znova.                                               }
{          Pri vyplĺovanˇ  mzdověch n kladov m me  pribli§ně mzdově }
{     charakter pre jednotlivěch zainteresovaněch.                  }
{          ¦alŁzie sa  vyp’ĺajŁ intuitˇvne priźom ak  nie je zadan  }
{     farba nie je mo§n‚ vyplniś §alŁziu Ôalçiu.                    }
{                                                                   }
{     ¬ˇselnˇky  pre STVRT, DEALER, MERAC, MONTAZNIK, FARBA sŁ      }
{     aktivovan‚ okam§ite po stlaźenˇ kl vesy ENTER. Potom si staźˇ }
{     vybraś potrebn‚ a znova stlaźiś ENTER.                        }
{     Ak vçak m   u§ˇvate– źˇsla v krvi staźˇ  napˇsaś priamo źˇslo }
{     program si u§ neako poradˇ s m.                               }
{                                                                   }
{ F3 - DEALER, F5 - MERAC, F6 - MONTAZ, F4 - FARBA                  }
{          Okno   pre   doplnenie   źˇselnˇka   dealerov  (meraźov, }
{     mont §nikov farieb).                                          }
{     Pohyb çipkami,  ESC - koniec  pr ce, DEL -  oznaź dealera na  }
{     zmazanie.                                                     }
{                                                                   }
{ F4 - ULICA                                                        }
{          Okno  pre  doplnenie  źˇselnˇka  ulˇc.  Ostatn‚  ako u   }
{     DEALER.                                                       }
{     Ak vçak stlacˇte  ENTER na polo§ke vpravo objavˇ  sa v m okno }
{     MESTO,  kde si  vyberiete do  ak‚ho mesta  potrˇ ulica.  Aj v }
{     meste je eçte  mo§n‚ vybraś KRAJ. ( Upozorĺujem,  §e n zvy sŁ }
{     pracovn‚. Znamen , §e ich pou§itie m“§e byś in‚).             }
{                                                                   }
{ Datum:19.06.1995                            http://www.trsek.com  }
 
{$M 32192,0,65360}
program Evidencia_Zaluzii;
uses crt,dos,kniznic,trsek,read_dbf,tlac;
 
const vcisla=999;
      option='option';
       shelp='help.dat';
      dsubor='zaluzie.dat';
        prin='LPT1';
        nfax='fax';
       k_por='.dat';
     s_index='index';                   { meno indexoveho suboru .sd }
      k_form='.frm';
     max_kum=10;                        { pocet kumulovanych         }
     dlz_kum=20;                        { dlzka stringu              }
   farba_sir=5;
    text_obj=6;
  d_poc_fzal=9;
   dlz_mesto=30;
  d_doba_dod=21;
  d_typ_ffax=2;
   d_cen_dea=25;
   d_cen_mer=10;
   d_cen_mon=19;
  d_lav_kraj=6;
 
 { ********** Farby **************}
      d_pomest=LIGHTGRAY;
      d_fomest=WHITE;
      d_pnmest=LIGHTGRAY;
      d_fnmest=WHITE;
      d_pvmest=RED;
      d_fvmest=BLACK;
      d_pozalu=DARKGRAY;
      d_fozalu=CYAN;
      d_pnzalu=LIGHTGRAY;
      d_fnzalu=DARKGRAY;
      d_pvzalu=RED;
      d_fvzalu=WHITE;
      d_pvhelp=LIGHTGRAY;
      d_fvhelp=YELLOW;
      d_pnhelp=BLACK;
      d_fnhelp=WHITE;
      d_ptlac=BLACK;
      d_ftlac=WHITE;
 
      poc_pod=8;                        { Ohladom podmienok }
      podmienky:array[1..poc_pod] of string[2]=
                ('= ','=*','<>','< ','> ','<=','>=','  ');
 text_podmienky:array[1..poc_pod] of string=
      ('rovna sa    ','vyskytuje sa','je rozne od ','je mensie   ','je vacsie   ',
       'mensie rovne','vacsie rovne','zrus podmien');
 
 text_uvod=' F1-Help F2-Zak zka F3-¬ˇselnˇky F4-Mzdy F5-Zostavy F6-Option F7-Disk_op ';
 
type  cislo=0..vcisla;
 
type tdealer = record            { Ciselnik Dealerov }
     cis_deal:cislo;
       priezv:string[32];
          del:boolean;
         end;
 
type temp_deal = record         { Ciselnik pre mzdy }
     cis_deal:cislo;
       priezv:string[32];
         mzda:real;
          poc:integer;
         end;
 
type tmiesto = record            { Ciselnik miest }
     typ_miest:cislo;
        miesto:string[dlz_mesto];
       cis_obl:cislo;
        oblast:string[dlz_mesto];
           del:boolean;
           end;
 
type  tfarba = record            { Ciselnik farieb }
{      typ_far:cislo;}
       typ_far:string[farba_sir];
           del:boolean;
           end;
 
type  formul = record           { Ciselnik zaluzii }
            x:byte;
            y:byte;
          pol:byte;
        rkluc:char;
          end;
 
type  kumul = record            { pre kumulovane }
        meno:string[dlz_kum];
           x:byte;
           y:byte;
         end;
 
type tzaluz = record            { zaluzie.dat }
         pred:longint;
         zani:longint;
        sirka:real;
        vyska:real;
        farba:string[farba_sir];
        del:boolean;
        end;
 
type fzaluz = record            { zaluzie ako zlucene DBF+zaluzie.dat }
       meno_f:string[text_obj];
        porad:cislo;
        sirka:real;
        vyska:real;
        farba:string[farba_sir];
        end;
 
var  pomest,fomest,pnmest,fnmest,pvmest,fvmest,pozalu,fozalu,pnzalu,fnzalu,
     pvzalu,fvzalu,pvhelp,fvhelp,pnhelp,fnhelp,ptlac,ftlac,doba_dod:byte;
     dlzpap,sirpap,poc_fzal,typ_ffax,cen_dea,cen_mer,cen_mon,lav_kraj:byte;
     subor,poradie,s_zost,s_kumu:string;
     formular:array[1..max_viet] of formul;
     kumulaty:array[1..max_kum ] of kumul;
      podmien:array[1..max_viet] of byte;
      men,pre:string;
           po:integer;
      poc_kum:integer;          { pocet kumulovanych premennych }
          fde:file of tdealer;
       miesto:tmiesto;
       strana:array[1..4,1..80,1..22] of byte;
       ffarba:tfarba;
          ffa:file of tfarba;
        ftext:text;
       meno_s:string;
        x,y,i:integer;
      fgx,fgy:integer;          { globalne x,y pre fax }
         fzoz:^tzoz;
         prvy:pointer;
        do_go:real;
           ch:char;
   size,size2:longint;
       end_yn:boolean;          { Koncit otazkou A/N }
            s:string;
 
{$I dealer.pas  }
{ farba.pas   bola ale sme vyhodili ??? }
{$I miesto.pas  }
{$I pr_zal.pas  }
{$I formul.pas  }
{$I filter.pas  }
{$I zaluz.pas   }
{$I help.pas    }
{$I fax.pas     }
{$I option.pas  }
{$I zostavy.pas }
{$I mzdy.pas    }
{$I redef.pas   }
{$I archiv.pas  }
 
procedure m_ciselniky;
const text_ciselnik=' ESC-Sp"? F2-Dealery F3-Mera>i F4-Mont,ri ';
      vypl=' ¬ˇselnˇky 12345 ';
begin
 okno(2,2,80,24,text_ciselnik,' Software by TRSEK ',BLUE);
 vypln(vypl);
 repeat
  z_sound:=true;
  ch:=readkey;
  if ch=#0 then begin
    ch:=readkey;
    case ch of
     #59:help(0);
     #60:po:=ddealer('Dealeri   ','dealer',men,pre,false,0,0);
     #61:po:=ddealer('Mera>i    ','merac',men,pre,false,0,0);
     #62:po:=ddealer('Mont §nici','montaz',men,pre,false,0,0);
     end;
    textbackground(BLUE);
    textcolor(YELLOW);
    owindow(1,1,80,25);
    okno(2,2,80,24,text_ciselnik,' Software by TRSEK ',BLUE);
    vypln(vypl);
   end;
 until (ch=#27);
end;
 
procedure m_mzdy;
const text_mzdy=' ESC-Sp"? F2/F5-Dealery F3/F6-Mera>i F4/F7-Mont,ri F8-Vçetci ';
      vypl=' --- Mzdy sk+ ';
begin
 okno(2,2,80,24,text_mzdy,' Software by TRSEK ',BLUE);
 vypln(vypl);
 repeat
  z_sound:=true;
  ch:=readkey;
  if ch=#0 then begin
    ch:=readkey;
    case ch of
     #59:help(0);
     #60:mzdy('dealer',0);
     #61:mzdy('merac',0);
     #62:mzdy('montaz',0);
     #63:mzdy('dealer',1);
     #64:mzdy('merac',1);
     #65:mzdy('montaz',1);
     #66:begin
          mzdy('montaz',2);
          prikaz('copy mzdy.$$$ mzdy\mzdy.tx1 >nul');
          mzdy('merac' ,2);
          prikaz('copy mzdy.$$$ + mzdy\mzdy.tx1 mzdy\mzdy.tx2 >nul');
          mzdy('dealer',2);
          prikaz('copy mzdy.$$$ + mzdy\mzdy.tx2 mzdy\mzdy.txt >nul');
 
          prikaz('del mzdy.$$$ >nul');
          prikaz('del mzdy\mzdy.tx1 >nul');
          prikaz('del mzdy\mzdy.tx2 >nul');
 
          view_text('mzdy\mzdy.txt',lav_kraj,ftlac,ptlac,prin);
         end;
     end;
    textbackground(BLUE);
    textcolor(YELLOW);
    owindow(1,1,80,25);
    okno(2,2,80,24,text_mzdy,' Software by TRSEK ',BLUE);
    vypln(vypl);
   end;
 until (ch=#27);
end;
 
procedure m_zostavy;
const text_zostavy=' ESC-Sp"? F2-Kumul_zostavy F3-Zostavy F4-FAX ';
      vypl=' Zostavy -| ';
begin
 okno(2,2,80,24,text_zostavy,' Software by TRSEK ',BLUE);
 vypln(vypl);
 repeat
  z_sound:=true;
  ch:=readkey;
  if ch=#0 then begin
    ch:=readkey;
    case ch of
     #59:help(0);
     #60:zostava(s_kumu,'Finan>n, zostavy.');
     #61:zostava(s_zost,'Pl n mont §ˇ.');
     #62:s:=fax(0,typ_ffax);
     end;
    textbackground(BLUE);
    textcolor(YELLOW);
    owindow(1,1,80,25);
    okno(2,2,80,24,text_zostavy,' Software by TRSEK ',BLUE);
    vypln(vypl);
   end;
 until (ch=#27);
end;
 
procedure sys_op;
const text_ciselnik=' ESC-Sp"? F2-Archiv F3-Vrat archiv F4-Redefinicia ';
      vypl=' Diskove operacie';
begin
 okno(2,2,80,24,text_ciselnik,' Software by TRSEK ',BLUE);
 vypln(vypl);
 repeat
  z_sound:=true;
  ch:=readkey;
  if ch=#0 then begin
    ch:=readkey;
    case ch of
     #59:help(0);
     #60:archiv(1);
     #61:archiv(2);
     #62:redef;
     end;
    textbackground(BLUE);
    textcolor(YELLOW);
    owindow(1,1,80,25);
    okno(2,2,80,24,text_ciselnik,' Software by TRSEK ',BLUE);
    vypln(vypl);
   end;
 until (ch=#27);
end;
 
begin
 farba(BLACK,-1);
 clrscr;
 farba(BLUE,YELLOW);
 okno(1,1,80,24,text_uvod,' Software by TRSEK ',BLUE);
 vypln(' ¦alŁzie evidencia '); options(9);
 prikaz('type zaluzie.dat > nul');
 prikaz('type '+subor+'.dbf >nul');
 if s_exist(subor+k_index,0) then prikaz('del '+subor+k_index);
 if s_exist('filter'+k_index,0) then prikaz('del filter'+k_index);
 
 repeat
  z_sound:=true;
  ch:=readkey;
  if ch=#0 then begin
    ch:=readkey;
    case ch of
     #59:help(0);
     #60:zakazka;
     #61:m_ciselniky;
     #62:m_mzdy;
     #63:m_zostavy;
     #64:options(1);
     #65:sys_op;
     end;
    textbackground(BLUE);
    textcolor(YELLOW);
    owindow(1,1,80,25);
    okno(1,1,80,24,text_uvod,' Software by TRSEK ',BLUE);
    vypln(' ¦alŁzie evidencia ');
    ch:=#10;
   end;
 if end_yn and (ch=#27) then begin
    hlaska('Skonci? program A/..',-1);
    if readkey in ['a','A'] then ch:=#27
                            else ch:=' ';
    hlaska('',-2);
    end;
 
 until (ch=#27);
 owindow(1,1,80,25);
 koniec('   ¦alŁzie 4.1','1995');
end.