Program pre spr8vu objednávok žalúzií.

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategórie: Programy v Pascalu
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
Soubor exe: Zaluzie.exe
Potřebné: 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.