home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 December / PCWorld_2002-12_cd.bin / Software / Komercni / Baltik / katA.exe / katA / GUI / GUI.SGP < prev    next >
Text File  |  2002-09-17  |  60KB  |  1,719 lines

  1. SGPC   5.03 CZ0#352N00227 22.06.2024 23:17:03                                    StructNo11  11
  2.  
  3. # include <sgpbalt.h>
  4.  
  5. //////////////////////
  6. // Globální prom╪nné
  7. //
  8. // prom╪nné celoƒíselné:
  9.      int     gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ,       // rozsah -32768..32767
  10.              gI¼íslo1,gI¼íslo2,gI¼íslo3,gPàvBarvy;
  11.              // gKlávesa je souƒástí knihovny Baltazara
  12. // prom╪nné reálné:
  13.      double  gD¼íslo1,gD¼íslo2,gD¼íslo3;          // rozsah 5.0E-324..1.7E308
  14. // prom╪nná znak:
  15.      char    gZnak;
  16. // prom╪nná ²et╪zec:
  17.      string  gⁿet╪zec;
  18. struct  GUIObjekt {
  19.           int
  20.             µí²ka,V∞τka,
  21.             X,Y,
  22.             Okno, /* Okno, ke kterému objekt náleºí. */
  23.             ID;   /* Pracovní identifikaƒní ƒíslo. */
  24.           char
  25.             Spec, /* Specifická prom╪nná (nap². stav u vypínaƒe). */
  26.             Druh, /* Druh objektu (nap². 0=Okno,1=Tlaƒítko ...). */
  27.             Styl, /* Styl objektu (nap². v p²ípad╪ tlaƒítka 0=obyƒejné,1=ploché ...). */
  28.             Viditeln∞, /* Viditelnost objektu (1=viditeln∞,0=neviditeln∞) */
  29.             Skupina, /* V p²ípad╪ p²epínaƒe urƒuje skupinu. */
  30.             P²i²azenaUdálost; /* No Comment ;) */
  31.           string
  32.             Text; /* Text, kter∞ je na objektu napsán. */
  33.           void
  34.             (*Klik)(),  /* Událost klik na objekt */
  35.             (*Zm╪na)(), /* Událost zm╪na hodnoty (nap². zm╪na textového pole, zm╪na stavu vypínaƒe ... */
  36.             (*PopUp)(); /* Událost vybrání poloºky PupUp menu */
  37.         } Objekty[105]; /* Hlavní pole, které zdruºuje vτechny objekty.(index=ID) */
  38.  
  39. typedef struct Seznam {
  40.          string
  41.            Text[20];  /* Text poloºky. */
  42.          int
  43.            Poƒet, /* Poƒet poloºek. */
  44.            V∞b╪r; /* ¼íslo vybrané poloºky. */
  45.            µí²ka; /* µí²ka seznamu v bodech. */
  46.        } TSeznam;
  47. # define StartTlaƒítko 5     /* Poƒáteƒní ID Tlaƒítka */
  48. # define StartText 15        /* Poƒáteƒní ID Textu */
  49. # define StartTextovéPole 40 /* Poƒáteƒní ID Textového pole */
  50. # define StartVypínaƒ 60     /* Poƒáteƒní ID Vypínaƒe */
  51. # define StartP²epínaƒ 70    /* Poƒáteƒní ID P²epínƒe */
  52. # define StartV∞b╪r 85       /* Poƒáteƒní ID V∞b╪ru */
  53. # define StartMenu 95       /* Poƒáteƒní ID V∞b╪ru */
  54.  
  55.  
  56. int IDTlaƒítko=StartTlaƒítko,
  57.     IDText=StartText,
  58.     IDTextovéPole=StartTextovéPole,
  59.     IDOkno=0,
  60.     IDVypínaƒ=StartVypínaƒ,
  61.     IDP²epínaƒ=StartP²epínaƒ;
  62.     IDV∞b╪r=StartV∞b╪r,
  63.     IDMenu=StartMenu,
  64.     IDSeznamy=StartV∞b╪r,
  65.     Obnovit=0;
  66.  
  67. TSeznam Seznamy[105],MenuVybSeznamy[105];
  68.  
  69. int Konec=0;
  70.  
  71. /////////////////////
  72. // Pomocné definice
  73. //
  74.  
  75. #define NE      0
  76. #define ANO     1
  77.  
  78. #define ABS(x)  ((x)>0?(x):-(x))
  79.  
  80. #define __CYKLUS(N)   __Cyklus(1,N);__Cyklus(0,N);   //Hlava cyklu
  81. #define __MPVC_ 100   //Maximální poƒet vno²en∞ch cyklà
  82.  
  83. int __Cyklus( int Nov∞, int Poƒet )
  84. //Nov∞ > 0: Otev²ení nového cyklu s N opakováními (vƒetn╪ 0)
  85. //Nov∞ = 0: Dalτí pràchod cyklem
  86. //Nov∞ < 0: P²edƒasné ukonƒení cyklu
  87. { static int I[__MPVC_];
  88.   static int i = -1;
  89.   if( Nov∞ > 0 )
  90.   { if( ++i >= __MPVC_)
  91.     { TxtPiτⁿet╪zec("P²íliτ mnoho vno²en∞ch cyklà");
  92.       while(1) {Tón(1000);};
  93.     }else I[i]=Poƒet;
  94.   }else if( Nov∞ == 0 )
  95.   { if(--I[i]<0){ i--; return(0);}
  96.                   else return(1);
  97.   }else return(-(i--));  //Vrací zápornou aktuální hloubku vno²ení
  98. }  //Cyklus
  99.  
  100. void ¼ekejNaReakci(void)
  101. //¼eká na sitsk klávesy nebo tlaƒítka myτi
  102. { VyprázdniFrontuKláves();
  103.   MyτVyprázdniFrontuUdálostí();
  104.   ¼ekej(NaKlávesu|NaMyτ);
  105.   VyprázdniFrontuKláves();
  106.   MyτVyprázdniFrontuUdálostí();
  107. } //¼ekejNaReakci
  108.  
  109. long ¥¼ti¼íslo ( char* Text )
  110. { long Vrátit = 0;
  111.   GrNastavPozici(272, 0);
  112.   Gr¼tiL¼íslo(Text,Vrátit,8,1,0xe);
  113.   GrNastavPozici(272, 0);
  114.   GrPiτⁿet╪zec( "               " );
  115.   return Vrátit;
  116. } //¥¼ti¼íslo
  117.  
  118. long BaltEmuluj( char* Text )
  119. { long       Vrátit = 0;
  120.   int        Klávesa;
  121.   int        Konec = 0;
  122.   TypP²edm╪t P²edm╪t=1;
  123.   VyprázdniFrontuKláves();
  124.   GrNastavBarvy( 0x7 );  GrSmaºOkno();
  125.   GrPiτⁿet╪zec( Text );
  126.   Tón(1000); ¼ekej(10); VypniTón();
  127.   while (!Konec)
  128.   { int p;
  129.     GrNastavPozici(0, GrV∞τkaZnaku);
  130.     GrPiτⁿet╪zec( "ⁿá: "); GrPiτL¼íslo( PoziceBaltazaraY(), 2 );
  131.     GrPiτⁿet╪zec( ",  Sl: " ); GrPiτL¼íslo( PoziceBaltazaraX(), 2 );
  132.     GrPiτⁿet╪zec( ",  Sm: " );
  133.     int s=Sm╪rBaltazara();
  134.     GrPiτⁿet╪zec( s==V∞chod ? "V∞chod" :
  135.                   s==Jih    ? "Jih   " :
  136.                   s==Západ  ? "Západ " :
  137.                               "Sever " );
  138.     GrPiτⁿet╪zec( ",  Ba: " ); NastavBarvu¼arování( p=NastavBarvu¼arování(0));
  139.                               GrPiτL¼íslo( p, 2 );
  140.     GrPiτⁿet╪zec( ",  Ry: " ); RychlostBaltazara(p = RychlostBaltazara(0));
  141.                               GrPiτL¼íslo( p, 2 );
  142.     switch ¼tiKlávesuZFrontyS¼ekáním()
  143.     { case KlDoleva:   VlevoVbok(); break;
  144.       case KlDoprava:  VpravoVbok(); break;
  145.       case KlNahoru:   Popojdi(1); break;
  146.       case KlDolà:     ¼aruj(Baltedit()); break;
  147.       case KlIns:      Vrátit = ¥¼ti¼íslo( "¼íslo: " ); break;
  148.       case 'B':
  149.       case 'b':        NastavBarvu¼arování( ¥¼ti¼íslo("Barva: ") ); break;
  150.       case 'C':
  151.       case 'c':        ¼aruj(¼tverec); break;
  152.       case 'R':
  153.       case 'r':        RychlostBaltazara( ¥¼ti¼íslo("Rychlost: ") ); break;
  154.       case KlEnter:    Konec = 1; break;
  155.     } //switch
  156.   } //while
  157.   GrNastavBarvy( 0x77 ); GrSmaºOkno();
  158.   return Vrátit;
  159. } //BaltEmuluj
  160.  
  161.  
  162. ///////////////////
  163. // Globální makra
  164. //
  165. -o1-Globals ----------------------------------------------------------------
  166. 0 ;prom╪nné
  167.   ;globální prom╪nné (jsou definovány v globálních definicích  Ctrl+G):
  168.     ;prom╪nné celoƒíselné: gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ,gKlávesa;
  169.        ;dalτí p²eddefinované globální prom╪nné mají vºdy p²edponu g..
  170.        ;a jejich názvy jsou shodné s lokálními prom╪nn∞mi definovan∞mi níºe,
  171.        ;nap². gD¼íslo1, gⁿet╪zec atd.
  172.   ;lokální prom╪nné:
  173.     ;prom╪nné celoƒíselné:
  174.        int     a,b,c,d,e,f,g,h,i,j,Klávesa,      //rozsah -32768..32767
  175.                I¼íslo1,I¼íslo2,I¼íslo3,PàvBarvy;
  176.     ;prom╪nné reálné:
  177.        double  D¼íslo1,D¼íslo2,D¼íslo3;          //rozsah 5.0E-324..1.7E308
  178.     ;prom╪nná znak:
  179.        char    Znak;
  180.     ;prom╪nná ²et╪zec:
  181.        string  ⁿet╪zec;
  182. [ ;vytvo² Baltazaràv grafick∞ prostor
  183.    Vytvo²Prostor(); MyτZaƒátekObsluhy();
  184. ] ;zruτ Baltazaràv grafick∞ prostor
  185.    MyτKonecObsluhy(); ZruτProstor();
  186. a Klávesa= ¼tiKlávesuZFronty();
  187. b P²epniNaBaltazara();
  188. c ¼aruj(¼tverec);
  189. d Gr¼tiZnak("?",Znak,1,0x07);            /*      edit ano, ƒerná/sv.τedá*/
  190. ╨ return BaltEmuluj("Hodnota?");
  191. e BezObláƒku();
  192. f VyprázdniFrontuKláves();
  193. g Gr¼tiSⁿet╪zec("?",ⁿet╪zec,40,1,0x3f);  /*40zn, edit ano, modrá/bílá   */
  194. h Gr¼tiI¼íslo("?",I¼íslo1,6,0,0x0e);     /* 6zn, edit  ne, ƒerná/ºlutá  */
  195. i Gr¼tiD¼íslo("?",D¼íslo1,20,1,0x0f);    /*20zn, edit  ne, ƒerná/bílá   */
  196. j GrPiτZnak(Znak);
  197. k Klávesa= ¼tiKlávesuZFrontyS¼ekáním();
  198. l VlevoVbok();
  199. ê BaltEmuluj("STOP");
  200. m ;vypiτ ⁿet╪zec do grafického okénka
  201.    PàvBarvy=GrNastavBarvy(Modrá<<4|ªlutá); /*ºlutá na modré             */
  202.    GrPiτⁿet╪zec(ⁿet╪zec);                /*vypíτe obsah prom╪nné ⁿet╪zec*/
  203.    GrNastavBarvy(PàvBarvy);              /*nastaví pàvodní barvy        */
  204. n Neviditeln∞();
  205. o SObláƒkem();
  206. p Popojdi(1);
  207. q GrPiτL¼íslo(I¼íslo1,-1);               /* -1 = nejkratτí v∞pis        */
  208. r VpravoVbok();
  209. t P²epniNaText();
  210. u GrPiτD¼íslo(D¼íslo1,10,2);             /*10 ƒíslic, z toho 2 desetinné*/
  211. v Viditeln∞();
  212. w ;ƒekej na stisk klávesy nebo tlaƒítka myτi
  213.   ¼ekejNaReakci();
  214. x Skryj();
  215. y Odhal();
  216. z ;ƒelem vzad
  217.    VlevoVbok(); VlevoVbok();
  218. B NastavBarvu¼arování   /*       B:(barva)!   0-15                    */
  219. C ¼aruj                 /*     C:(p²edm╪t)!   1-150                   */
  220. ╤ return BaltEmuluj     /*     ╤:("Volno")!   "Test"                  */
  221. L NaƒtiScénu            /*    L:("soubor")!   "c:\\pavel\\soubor.s00" */
  222. ¥ BaltEmuluj            /*      ¥:("Text")!   "Test"                  */
  223. N Náhodn╪¼aruj          /*     N:(p²edm╪t)!   1-150                   */
  224. P Popojdi               /*  P:(poƒet_polí)!   0-14                    */
  225. R RychlostBaltazara     /*    R:(rychlost)!   0-9                     */
  226. S UloºScénu             /*    S:("soubor")!   "c:\\pavel\\soubor.s00" */
  227. W ¼ekej                 /*  W:(milisekund)!   0-32000                 */
  228. X ¼arujNaPozici         /* X:(p²edm╪t,x,y)!   1-150, 1-15, 1-10       */
  229. -c1-Globals ---- (? lze pouºít jako náhrada pouze pro /,*,+) -----------------
  230. ?n PràchodnostP²edm╪tuP²edB() Je 0
  231. ?p PràchodnostP²edm╪tuP²edB() Je 1
  232. ?B Barva¼tverceP²edB()  /* Je, Není, <, >, <= ,>= */
  233. ?P P²edm╪tP²edB()       /* Je, Není, <, >, <= ,>= */
  234. ?S Sm╪rBaltazara()      /* Je, Není, <, >, <= ,>= */
  235. \b Barva¼tverceP²edB()??
  236. \p P²edm╪tP²edB()??
  237. \s Sm╪rBaltazara()??
  238. \C case
  239. #C ; n-krát                                     #C:(5)         5₧
  240.     __CYKLUS
  241. #A ;opakuj vzestupn╪ pro prom╪nnou od,do,krok   #A:(i,2,10,2)  i=2,4..10
  242.     OdDoKrok
  243. #D ;opakuj sestupn╪  pro prom╪nnou od,do,krok   #D:(i,10,2,2)  i=10,8..2
  244.     OdDolàDoKrok
  245. #M ;opakuj n-krát sestupn╪  pro prom╪nnou       #M:(i,8)  (8x) i=7,6..0
  246.     DolàDo0
  247. #N ;opakuj n-krát vzestupn╪ pro prom╪nnou       #N:(i,8)  (8x) i=0,1..7
  248.     Od0
  249. ===Globals ------------------------------------------------------------------
  250. /*-hf(*/
  251. /*-hf-*/
  252. void ZniƒOkno( int ID )
  253. /*-hf-*/;
  254. void P²esuσOkno( int x,y,ID )
  255. /*-hf-*/;
  256. void Obnov( void )
  257. /*-hf-*/;
  258. void P²idejPoloºku( int ID,string text )
  259. /*-hf-*/;
  260. void MenuV∞b╪rP²idejPoloºku( int ID, string text )
  261. /*-hf-*/;
  262. int Spus£PopUpMenu( int x2,y2,ID )
  263. /*-hf-*/;
  264. void _KresliMenu( int ID,z )
  265. /*-hf-*/;
  266. int Spus£Menu( int ID )
  267. /*-hf-*/;
  268. int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
  269. /*-hf-*/;
  270. void _KresliV∞b╪r( int ID,z )
  271. /*-hf-*/;
  272. int Spus£V∞b╪r( int ID )
  273. /*-hf-*/;
  274. int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
  275. /*-hf-*/;
  276. void _KresliP²epínaƒ( int ID )
  277. /*-hf-*/;
  278. int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
  279. /*-hf-*/;
  280. void _KresliVypínaƒ( int ID )
  281. /*-hf-*/;
  282. int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
  283. /*-hf-*/;
  284. void _KresliTextovéPole( int ID )
  285. /*-hf-*/;
  286. string UpravTextovéPole( int ID )
  287. /*-hf-*/;
  288. int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
  289. /*-hf-*/;
  290. void _KresliText( int ID )
  291. /*-hf-*/;
  292. int Text( int  x,y,okno, string text,void (*událost)(),void (*popup)() )
  293. /*-hf-*/;
  294. void _KresliTlaƒítko( int ID,z )
  295. /*-hf-*/;
  296. int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
  297. /*-hf-*/;
  298. void _KresliOkno( int ID,z )
  299. /*-hf-*/;
  300. int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
  301. /*-hf-*/;
  302. int Události( void )
  303. /*-hf-*/;
  304. void main( void )
  305. /*-hf)*/;
  306. ;-h---------------------------------------------------------------------------
  307. void ZniƒOkno( int ID )
  308. -s--ZniƒOkno                                                                    ■   4  -2 -27   3
  309. ZniƒOkno
  310.   1!
  311. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  312. 1 int tl=StartTlaƒítko,tlvoknu=0,
  313.       text=StartText,textvoknu=0,
  314.       textpole=StartTextovéPole,textpolevoknu=0,
  315.       vyp=StartVypínaƒ,vypvoknu=0,
  316.       pre=StartP²epínaƒ,prevoknu=0,
  317.       vyb=StartV∞b╪r,vybvoknu=0,
  318.       menu=StartMenu,menuvoknu=0;
  319.  
  320.    while(tl!=IDTlaƒítko) {
  321.      if(Objekty[tl].Okno==ID) ++tlvoknu;
  322.      ++tl;
  323.    }
  324.    IDTlaƒítko-=tlvoknu;
  325.  
  326.    while(textpole!=IDTextovéPole) {
  327.    if(Objekty[textpole].Okno==ID) ++textpolevoknu;
  328.      ++textpole;
  329.    }
  330.    IDTextovéPole-=textpolevoknu;
  331.  
  332.    while(text!=IDText) {
  333.      if(Objekty[text].Okno==ID) ++textvoknu;
  334.      ++text;
  335.    }
  336.    IDText-=textvoknu;
  337.  
  338.    while(vyp!=IDVypínaƒ) {
  339.      if(Objekty[vyp].Okno==ID) ++vypvoknu;
  340.      ++vyp;
  341.    }
  342.    IDVypínaƒ-=vypvoknu;
  343.  
  344.   while(pre!=IDP²epínaƒ) {
  345.      if(Objekty[pre].Okno==ID) ++prevoknu;
  346.      ++pre;
  347.    }
  348.    IDP²epínaƒ-=prevoknu;
  349.  
  350.    while(vyb!=IDV∞b╪r) {
  351.      if(Objekty[vyb].Okno==ID) ++vybvoknu;
  352.      ++vyb;
  353.    }
  354.    IDV∞b╪r-=vybvoknu;
  355.  
  356.    while(menu!=IDMenu) {
  357.      if(Objekty[menu].Okno==ID) ++menuvoknu;
  358.      ++menu;
  359.    }
  360.    IDMenu-=menuvoknu;
  361.  
  362.    --IDOkno;
  363.    Obnovit=1;
  364. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  365. =SP---------------------------------------------------------------------------
  366.  
  367. ;-h---------------------------------------------------------------------------
  368. void P²esuσOkno( int x,y,ID )
  369. -s--P²esuσOkno                                                                  ■   4  -2 -26   3
  370. P²esuσOkno
  371.    1!
  372. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  373. 1 int tl=StartTlaƒítko,
  374.       text=StartText,
  375.       textpole=StartTextovéPole,
  376.       vyp=StartVypínaƒ,
  377.       pre=StartP²epínaƒ,
  378.       vyb=StartV∞b╪r,
  379.       menu=StartMenu;
  380.  
  381.   while(tl!=IDTlaƒítko) {
  382.     if(Objekty[tl].Okno==ID) {
  383.       Objekty[tl].X=x+(Objekty[tl].X-Objekty[ID].X);
  384.       Objekty[tl].Y=y+(Objekty[tl].Y-Objekty[ID].Y);
  385.       }
  386.     ++tl;
  387.   }
  388.  
  389.   while(text!=IDText) {
  390.     if(Objekty[text].Okno==ID) {
  391.       Objekty[text].X=x+(Objekty[text].X-Objekty[ID].X);
  392.       Objekty[text].Y=y+(Objekty[text].Y-Objekty[ID].Y);
  393.       }
  394.     ++text;
  395.   }
  396.  
  397.   while(textpole!=IDTextovéPole) {
  398.     if(Objekty[textpole].Okno==ID) {
  399.       Objekty[textpole].X=x+(Objekty[textpole].X-Objekty[ID].X);
  400.       Objekty[textpole].Y=y+(Objekty[textpole].Y-Objekty[ID].Y);
  401.       }
  402.     ++textpole;
  403.   }
  404.  
  405.   while(vyp!=IDVypínaƒ) {
  406.     if(Objekty[vyp].Okno==ID) {
  407.       Objekty[vyp].X=x+(Objekty[vyp].X-Objekty[ID].X);
  408.       Objekty[vyp].Y=y+(Objekty[vyp].Y-Objekty[ID].Y);
  409.       }
  410.     ++vyp;
  411.   }
  412.  
  413.   while(pre!=IDP²epínaƒ) {
  414.     if(Objekty[pre].Okno==ID) {
  415.       Objekty[pre].X=x+(Objekty[pre].X-Objekty[ID].X);
  416.       Objekty[pre].Y=y+(Objekty[pre].Y-Objekty[ID].Y);
  417.       }
  418.     ++pre;
  419.   }
  420.  
  421.   while(vyb!=IDV∞b╪r) {
  422.     if(Objekty[vyb].Okno==ID) {
  423.       Objekty[vyb].X=x+(Objekty[vyb].X-Objekty[ID].X);
  424.       Objekty[vyb].Y=y+(Objekty[vyb].Y-Objekty[ID].Y);
  425.       }
  426.     ++vyb;
  427.   }
  428.  
  429.   while(menu!=IDMenu) {
  430.     if(Objekty[menu].Okno==ID) {
  431.       Objekty[menu].X=x+(Objekty[menu].X-Objekty[ID].X);
  432.       Objekty[menu].Y=y+(Objekty[menu].Y-Objekty[ID].Y);
  433.       }
  434.     ++menu;
  435.   }
  436.  
  437.   Objekty[ID].X=x;
  438.   Objekty[ID].Y=y;
  439.   Obnovit=1;
  440. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  441. =SP---------------------------------------------------------------------------
  442.  
  443. ;-h---------------------------------------------------------------------------
  444. void Obnov( void )
  445. -s--Obnov                                                                       ■   4  -2 -29   3
  446. Obnov
  447.  1!
  448. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  449. 1 int okno=0,tl,text,textpole,vyp,pre,vyb,menu;
  450.   MyτSchovejKurzor();
  451.   GrNastavBarvy(0x66);
  452.   GrSmaºOkno();
  453.   MyτZobrazKurzor();
  454.   while(okno!=IDOkno) {
  455.     _KresliOkno(okno,0);
  456.     tl=StartTlaƒítko;
  457.     while(tl!=IDTlaƒítko) {
  458.       if(Objekty[tl].Okno==okno)
  459.         _KresliTlaƒítko(tl,0);
  460.       ++tl;
  461.     }
  462.     text=StartText;
  463.     while(text!=IDText) {
  464.       if(Objekty[text].Okno==okno)
  465.         _KresliText(text);
  466.       ++text;
  467.     }
  468.     textpole=StartTextovéPole;
  469.     while(textpole!=IDTextovéPole) {
  470.       if(Objekty[textpole].Okno==okno)
  471.         _KresliTextovéPole(textpole);
  472.       ++textpole;
  473.     }
  474.     vyp=StartVypínaƒ;
  475.     while(vyp!=IDVypínaƒ) {
  476.       if(Objekty[vyp].Okno==okno)
  477.         _KresliVypínaƒ(vyp);
  478.       ++vyp;
  479.     }
  480.     pre=StartP²epínaƒ;
  481.     while(pre!=IDP²epínaƒ) {
  482.       if(Objekty[pre].Okno==okno)
  483.         _KresliP²epínaƒ(pre);
  484.       ++pre;
  485.     }
  486.     vyb=StartV∞b╪r;
  487.     while(vyb!=IDV∞b╪r) {
  488.       if(Objekty[vyb].Okno==okno)
  489.         _KresliV∞b╪r(vyb,0);
  490.       ++vyb;
  491.     }
  492.     menu=StartMenu;
  493.     while(menu!=IDMenu) {
  494.       if(Objekty[menu].Okno==okno)
  495.         _KresliMenu(menu,0);
  496.       ++menu;
  497.     }
  498.     ++okno;
  499.   }
  500. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  501. =SP---------------------------------------------------------------------------
  502.  
  503. ;-h---------------------------------------------------------------------------
  504. void P²idejPoloºku( int ID,string text )
  505. -s--P²idejPoloºku                                                               ■   4  -2 -25   3
  506. P²idejPoloºku
  507.      1!
  508. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  509. 1
  510.   Seznamy[ID].Text[Seznamy[ID].Poƒet]=text;
  511.   ++Seznamy[ID].Poƒet;
  512. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  513. =SP---------------------------------------------------------------------------
  514.  
  515. ;-h---------------------------------------------------------------------------
  516. void MenuV∞b╪rP²idejPoloºku( int ID, string text )
  517. -s--MenuV∞b╪rP²idejPoloºku                                                      ■   4  -2 -20   3
  518. MenuV∞b╪rP²idejPoloºku
  519.          1!
  520. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  521. 1 MenuVybSeznamy[ID].Text[MenuVybSeznamy[ID].Poƒet]=text;
  522.   ++MenuVybSeznamy[ID].Poƒet;
  523. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  524. =SP---------------------------------------------------------------------------
  525.  
  526. ;-h---------------------------------------------------------------------------
  527. int Spus£PopUpMenu( int x2,y2,ID )
  528. -s--Spus£PopUpMenu                                                              ■   4  -2 -24   3
  529. Spus£PopUpMenu
  530.      1!
  531. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  532. 1 int a=0,x,y,y1,sirka;
  533.   if(Seznamy[ID].µí²ka==0) sirka=100;
  534.   else sirka=Seznamy[ID].µí²ka;
  535.   MyτSchovejKurzor();
  536.   GrNastavBarvy(0x7f);
  537.   GrKresliVypln╪n∞Obdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
  538.   GrKresliObdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
  539.   GrNastavBarvy(0x88);
  540.   GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2+sirka,y2);
  541.   GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2,y2+Seznamy[ID].Poƒet*12+4);
  542.   GrNastavBarvy(0x00);
  543.   while(a!=Seznamy[ID].Poƒet) {
  544.     GrNastavPozici(x2+2,y2+2+a*12);
  545.     GrPiτⁿet╪zec(Seznamy[ID].Text[a]);
  546.     ++a;
  547.   }
  548.   MyτZobrazKurzor();
  549.   MyτNastavPozici(x2+3,y2+3);
  550.   MyτNastavRozsah(x2+3,y2+3,x2+97,y2+Seznamy[ID].Poƒet*12+1);
  551.   MyτVyprázdniFrontuUdálostí();
  552.   while(gMyτUdálost.Typ!=MyτUdálostPravéTlNahoru){
  553.     Myτ¼tiUdálost(gMyτUdálost);
  554.     y=(gMyτUdálost.Y-y2+2)/12;
  555.     if(y!=y1) {
  556.       MyτSchovejKurzor();
  557.       GrNastavBarvy(0x00);
  558.       GrNastavPozici(x2+2,y2+2+y1*12);
  559.       GrPiτⁿet╪zec(Seznamy[ID].Text[y1]);
  560.       GrNastavBarvy(0x04);
  561.       GrNastavPozici(x2+2,y2+2+y*12);
  562.       GrPiτⁿet╪zec(Seznamy[ID].Text[y]);
  563.       MyτZobrazKurzor();
  564.       Myτ¼tiUdálost(gMyτUdálost);
  565.       y1=(gMyτUdálost.Y-y2+2)/12;
  566.     }
  567.   }
  568.   Seznamy[ID].V∞b╪r=y1;
  569.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  570.   Obnovit=1;
  571.   return y;
  572. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  573. =SP---------------------------------------------------------------------------
  574.  
  575. ;-h---------------------------------------------------------------------------
  576. void _KresliMenu( int ID,z )
  577. -s--_KresliMenu                                                                 ■   3  -2 -27   3
  578. KresliMenu
  579.     /1
  580.     │
  581.  123!
  582. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  583. 1 MyτSchovejKurzor();
  584.  
  585.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  586.   int x1,x2,y1,y2;
  587.   string text;
  588.   x1=Objekty[ID].X;
  589.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  590.   y1=Objekty[ID].Y;
  591.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  592.   text=Objekty[ID].Text;
  593.  
  594. 2 ;kreslení menu
  595.   if(z==0) {
  596.     GrNastavBarvy(0x77);
  597.     GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
  598.     GrNastavBarvy(0x00);
  599.     GrNastavPozici(x1+2,y1+2);
  600.     GrPiτⁿet╪zec(text);
  601.   }
  602.   else if (z==1) {
  603.     GrNastavBarvy(0x77);
  604.     GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
  605.     GrNastavBarvy(0x88);
  606.     GrKresliLinku(x1,y1,x1,y2);
  607.     GrKresliLinku(x1,y1,x2,y1);
  608.     GrNastavBarvy(0xff);
  609.     GrKresliLinku(x2,y2,x2,y1-1);
  610.     GrKresliLinku(x2,y2,x1-1,y2);
  611.     GrNastavBarvy(0x00);
  612.     GrNastavPozici(x1+3,y1+3);
  613.     GrPiτⁿet╪zec(text);
  614.   }
  615.  
  616. 3 MyτZobrazKurzor();
  617. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  618. /1 ; Objekt je viditeln∞
  619.    Objekty[ID].Viditeln∞==1
  620. =SP---------------------------------------------------------------------------
  621.  
  622. ;-h---------------------------------------------------------------------------
  623. int Spus£Menu( int ID )
  624. -s--Spus£Menu                                                                   ■   4  -2 -27   3
  625. Spus£Menu
  626.    1!
  627. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  628. 1 int a=0,x,y,x1,y1,sirka;
  629.   if(MenuVybSeznamy[ID].µí²ka==0) sirka=100;
  630.   else sirka=MenuVybSeznamy[ID].µí²ka;
  631.   MyτSchovejKurzor();
  632.   GrNastavBarvy(0x7f);
  633.   GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
  634.                            Objekty[ID].Y+Objekty[ID].V∞τka,
  635.                            Objekty[ID].X+sirka,
  636.                            Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  637.   GrKresliObdélník(Objekty[ID].X,
  638.                    Objekty[ID].Y+Objekty[ID].V∞τka,
  639.                    Objekty[ID].X+sirka,
  640.                    Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  641.   GrNastavBarvy(0x88);
  642.   GrKresliLinku(Objekty[ID].X+sirka,
  643.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
  644.                 Objekty[ID].X+sirka,
  645.                 Objekty[ID].Y+Objekty[ID].V∞τka);
  646.   GrKresliLinku(Objekty[ID].X+sirka,
  647.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
  648.                 Objekty[ID].X,
  649.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  650.   GrNastavBarvy(0x00);
  651.   while(a!=MenuVybSeznamy[ID].Poƒet) {
  652.     GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
  653.     GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
  654.     ++a;
  655.   }
  656.   MyτZobrazKurzor();
  657.   MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
  658.   MyτNastavRozsah(Objekty[ID].X+3,
  659.                   Objekty[ID].Y+Objekty[ID].V∞τka+3,
  660.                   Objekty[ID].X+sirka-3,
  661.                   Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
  662.   MyτVyprázdniFrontuUdálostí();
  663.   while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
  664.     Myτ¼tiUdálost(gMyτUdálost);
  665.     y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  666.     if(y!=y1) {
  667.       MyτSchovejKurzor();
  668.       GrNastavBarvy(0x00);
  669.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
  670.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
  671.       GrNastavBarvy(0x04);
  672.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
  673.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
  674.       MyτZobrazKurzor();
  675.       Myτ¼tiUdálost(gMyτUdálost);
  676.       y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  677.     }
  678.   }
  679.   MenuVybSeznamy[ID].V∞b╪r=y1;
  680.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  681.   Obnovit=1;
  682.   return y;
  683. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  684. =SP---------------------------------------------------------------------------
  685.  
  686. ;-h---------------------------------------------------------------------------
  687. int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
  688. -s--Menu                                                                        ■   4  -2 -29   3
  689. Menu
  690. 1!
  691. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  692. 1 ;registrace a kreslení menu
  693.   Objekty[IDMenu].X=x+Objekty[okno].X;
  694.   Objekty[IDMenu].Y=y+Objekty[okno].Y;
  695.   Objekty[IDMenu].µí²ka=StrDélka(text)*8+4;
  696.   Objekty[IDMenu].V∞τka=14;
  697.   Objekty[IDMenu].Okno=okno;
  698.   Objekty[IDMenu].ID=IDMenu;
  699.   Objekty[IDMenu].Text=text;
  700.   Objekty[IDMenu].Druh=7;
  701.   Objekty[IDMenu].Styl=0;
  702.   Objekty[IDMenu].Viditeln∞=1;
  703.   if(událost==NULL) Objekty[IDMenu].P²i²azenaUdálost=0;
  704.   else {
  705.     Objekty[IDMenu].Zm╪na=událost;
  706.     Objekty[IDMenu].P²i²azenaUdálost=1;
  707.   }
  708.   Objekty[IDMenu].PopUp=popup;
  709.   Seznamy[IDMenu].Poƒet=0;
  710.   MenuVybSeznamy[IDMenu].Poƒet=0;
  711.   _KresliMenu(IDMenu,0);
  712.   ++IDMenu;
  713.   return IDMenu-1;
  714. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  715. =SP---------------------------------------------------------------------------
  716.  
  717. ;-h---------------------------------------------------------------------------
  718. void _KresliV∞b╪r( int ID,z )
  719. -s--_KresliV∞b╪r                                                                ■   6  -2 -25   3
  720.  KresliV∞b╪r
  721.       /1
  722.       │
  723. 123456!
  724. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  725. 1 MyτSchovejKurzor();
  726.  
  727.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  728.   int x1,x2,y1,y2;
  729.   string text;
  730.   x1=Objekty[ID].X;
  731.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  732.   y1=Objekty[ID].Y;
  733.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  734.   text=Objekty[ID].Text;
  735.  
  736. 2 ; kreslení v∞b╪ru
  737.   GrNastavBarvy(0x88);
  738.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  739.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  740.   GrNastavBarvy(0x00);
  741.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  742.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  743.   GrNastavBarvy(0xff);
  744.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  745.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  746.   GrNastavBarvy(0x77);
  747.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  748.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  749. 3 ; mazání obsahu
  750.   GrNastavBarvy(0xFF);
  751.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  752.  
  753. 4 ; vypsání textu
  754.   GrNastavPozici(x1+3,y1+3);
  755.   GrNastavBarvy(0x00);
  756.   GrPiτⁿet╪zec(text);
  757.  
  758. 5 ; kreslení tlaƒítka
  759.   x1=x2-13;
  760.   y1=y1+2;
  761.   y2=y2-2;
  762.   x2=x2-2;
  763.   GrNastavBarvy(0x70);
  764.   GrNastavText(GrTextSPozadím);
  765.   GrNastavPozici(x1+1,y1+1);
  766.   GrPiτZnak(25);
  767.   GrNastavText(GrTextBezPozadí);
  768.   if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  769.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  770.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  771.   if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
  772.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  773.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  774.   if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  775.   GrKresliLinku(x1+2,y2-2,x2-1,y2-2);
  776.   GrKresliLinku(x2-2,y1+2,x2-2,y2-1);
  777.   if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
  778.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  779.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  780.  
  781.  
  782.  
  783. 6 MyτZobrazKurzor();
  784. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  785. /1 ; Objekt je viditeln∞
  786.    Objekty[ID].Viditeln∞==1
  787. =SP---------------------------------------------------------------------------
  788.  
  789. ;-h---------------------------------------------------------------------------
  790. int Spus£V∞b╪r( int ID )
  791. -s--Spus£V∞b╪r                                                                  ■   4  -2 -26   3
  792. Spus£V∞b╪r
  793.    1!
  794. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  795. 1 int a=0,x,y,x1,y1,sirka;
  796.   if(MenuVybSeznamy[ID].µí²ka==0) sirka=Objekty[ID].µí²ka;
  797.   else sirka=MenuVybSeznamy[ID].µí²ka;
  798.   MyτSchovejKurzor();
  799.   GrNastavBarvy(0xf0);
  800.   GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
  801.                            Objekty[ID].Y+Objekty[ID].V∞τka,
  802.                            Objekty[ID].X+sirka,
  803.                            Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  804.   GrKresliObdélník(Objekty[ID].X,
  805.                    Objekty[ID].Y+Objekty[ID].V∞τka,
  806.                    Objekty[ID].X+sirka,
  807.                    Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  808.   while(a!=MenuVybSeznamy[ID].Poƒet) {
  809.     GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
  810.     GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
  811.     ++a;
  812.   }
  813.   MyτZobrazKurzor();
  814.   MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
  815.   MyτNastavRozsah(Objekty[ID].X+3,
  816.                   Objekty[ID].Y+Objekty[ID].V∞τka+3,
  817.                   Objekty[ID].X+sirka-3,
  818.                   Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
  819.   MyτVyprázdniFrontuUdálostí();
  820.   while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
  821.     Myτ¼tiUdálost(gMyτUdálost);
  822.     y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  823.     if(y!=y1) {
  824.       MyτSchovejKurzor();
  825.       GrNastavBarvy(0x00);
  826.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
  827.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
  828.       GrNastavBarvy(0x04);
  829.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
  830.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
  831.       MyτZobrazKurzor();
  832.       Myτ¼tiUdálost(gMyτUdálost);
  833.       y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  834.     }
  835.   }
  836.   Objekty[ID].Text=MenuVybSeznamy[ID].Text[y1];
  837.   MenuVybSeznamy[ID].V∞b╪r=y1;
  838.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  839.   Obnovit=1;
  840.   return y;
  841. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  842. =SP---------------------------------------------------------------------------
  843.  
  844. ;-h---------------------------------------------------------------------------
  845. int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
  846. -s--V∞b╪r                                                                       ■   4  -2 -29   3
  847. V∞b╪r
  848.  1!
  849. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  850. 1 ;registrace a kreslení v∞b╪ru
  851.   Objekty[IDV∞b╪r].X=x+Objekty[okno].X;
  852.   Objekty[IDV∞b╪r].Y=y+Objekty[okno].Y;
  853.   Objekty[IDV∞b╪r].µí²ka=τí²ka;
  854.   Objekty[IDV∞b╪r].V∞τka=16;
  855.   Objekty[IDV∞b╪r].Okno=okno;
  856.   Objekty[IDV∞b╪r].ID=IDV∞b╪r;
  857.   Objekty[IDV∞b╪r].Text=text;
  858.   Objekty[IDV∞b╪r].Druh=6;
  859.   Objekty[IDV∞b╪r].Styl=0;
  860.   Objekty[IDV∞b╪r].Viditeln∞=1;
  861.   if(událost==NULL) Objekty[IDV∞b╪r].P²i²azenaUdálost=0;
  862.   else {
  863.     Objekty[IDV∞b╪r].Zm╪na=událost;
  864.     Objekty[IDV∞b╪r].P²i²azenaUdálost=1;
  865.   }
  866.   Objekty[IDV∞b╪r].PopUp=popup;
  867.   Seznamy[IDV∞b╪r].Poƒet=0;
  868.   MenuVybSeznamy[IDV∞b╪r].Poƒet=0;
  869.   _KresliV∞b╪r(IDV∞b╪r,0);
  870.   ++IDV∞b╪r;
  871.   return IDV∞b╪r-1;
  872. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  873. =SP---------------------------------------------------------------------------
  874.  
  875. ;-h---------------------------------------------------------------------------
  876. void _KresliP²epínaƒ( int ID )
  877. -s--_KresliP²epínaƒ                                                             ■   3  -2 -25   3
  878. KresliP²epínaƒ
  879.       /1
  880.       │
  881. 123456!
  882. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  883. 1 MyτSchovejKurzor();
  884.  
  885.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  886.   int x1,x2,y1,y2;
  887.   string text;
  888.   x1=Objekty[ID].X;
  889.   x2=Objekty[ID].X+14;
  890.   y1=Objekty[ID].Y;
  891.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  892.   text=Objekty[ID].Text;
  893.  
  894. 2 ; kreslení vypínaƒe
  895.   GrNastavBarvy(0x88);
  896.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  897.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  898.   GrNastavBarvy(0x00);
  899.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  900.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  901.   GrNastavBarvy(0xff);
  902.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  903.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  904.   GrNastavBarvy(0x77);
  905.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  906.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  907. 3 ; mazání obsahu
  908.   GrNastavBarvy(0xFF);
  909.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  910.  
  911. 4 ; vypsání textu
  912.   GrNastavPozici(x1+17,y1+2);
  913.   GrNastavBarvy(0x00);
  914.   GrPiτⁿet╪zec(text);
  915.  
  916. 5 ; kreslení ƒtvereƒku
  917.   if(Objekty[ID].Spec==1) {
  918.     GrNastavBarvy(0x00);
  919.     GrKresliVypln╪n∞Obdélník(x1+5,y1+5,x1+9,y1+9);
  920.   }
  921.  
  922. 6 MyτZobrazKurzor();
  923. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  924. /1 ; Objekt je viditeln∞
  925.    Objekty[ID].Viditeln∞==1
  926.  
  927. =SP---------------------------------------------------------------------------
  928.  
  929. ;-h---------------------------------------------------------------------------
  930. int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
  931. -s--P²epínaƒ                                                                    ■   4  -2 -27   3
  932. P²epínaƒ
  933.   1!
  934. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  935. 1 ;registrace a kreslení p²epínaƒe
  936.   Objekty[IDP²epínaƒ].X=x+Objekty[okno].X;
  937.   Objekty[IDP²epínaƒ].Y=y+Objekty[okno].Y;
  938.   Objekty[IDP²epínaƒ].µí²ka=17+StrDélka(text)*8;
  939.   Objekty[IDP²epínaƒ].V∞τka=14;
  940.   Objekty[IDP²epínaƒ].Okno=okno;
  941.   Objekty[IDP²epínaƒ].ID=IDP²epínaƒ;
  942.   Objekty[IDP²epínaƒ].Text=text;
  943.   Objekty[IDP²epínaƒ].Druh=5;
  944.   Objekty[IDP²epínaƒ].Styl=0;
  945.   Objekty[IDP²epínaƒ].Viditeln∞=1;
  946.   Objekty[IDP²epínaƒ].Spec=stav;
  947.   Objekty[IDP²epínaƒ].Skupina=skupina;
  948.   if(událost==NULL) Objekty[IDP²epínaƒ].P²i²azenaUdálost=0;
  949.   else {
  950.     Objekty[IDP²epínaƒ].Zm╪na=událost;
  951.     Objekty[IDP²epínaƒ].P²i²azenaUdálost=1;
  952.   }
  953.   Seznamy[IDP²epínaƒ].Poƒet=0;
  954.   Objekty[IDP²epínaƒ].PopUp=popup;
  955.   _KresliP²epínaƒ(IDP²epínaƒ);
  956.   ++IDP²epínaƒ;
  957.   return IDP²epínaƒ-1;
  958. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  959. =SP---------------------------------------------------------------------------
  960.  
  961. ;-h---------------------------------------------------------------------------
  962. void _KresliVypínaƒ( int ID )
  963. -s--_KresliVypínaƒ                                                              ■   3  -2 -24   3
  964. KresliVypínaƒ
  965.       /1
  966.       │
  967. 123456!
  968. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  969. 1 MyτSchovejKurzor();
  970.  
  971.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  972.   int x1,x2,y1,y2;
  973.   string text;
  974.   x1=Objekty[ID].X;
  975.   x2=Objekty[ID].X+14;
  976.   y1=Objekty[ID].Y;
  977.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  978.   text=Objekty[ID].Text;
  979.  
  980. 2 ; kreslení vypínaƒe
  981.   GrNastavBarvy(0x88);
  982.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  983.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  984.   GrNastavBarvy(0x00);
  985.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  986.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  987.   GrNastavBarvy(0xff);
  988.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  989.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  990.   GrNastavBarvy(0x77);
  991.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  992.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  993. 3 ; mazání obsahu
  994.   GrNastavBarvy(0xFF);
  995.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  996.  
  997. 4 ; vypsání textu
  998.   GrNastavPozici(x1+17,y1+2);
  999.   GrNastavBarvy(0x00);
  1000.   GrPiτⁿet╪zec(text);
  1001.  
  1002. 5 ; kreslení k²íºku
  1003.   if(Objekty[ID].Spec==1) {
  1004.     GrNastavBarvy(0x00);
  1005.     GrKresliLinku(x1+4,y1+4,x1+10,y1+10);
  1006.     GrKresliLinku(x1+5,y1+4,x1+10,y1+9);
  1007.     GrKresliLinku(x1+4,y1+5,x1+9,y1+10);
  1008.     GrKresliLinku(x1+10,y1+4,x1+4,y1+10);
  1009.     GrKresliLinku(x1+10,y1+5,x1+5,y1+10);
  1010.     GrKresliLinku(x1+9,y1+4,x1+4,y1+9);
  1011.   }
  1012.  
  1013. 6 MyτZobrazKurzor();
  1014. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1015. /1 ; Objekt je viditeln∞
  1016.    Objekty[ID].Viditeln∞==1
  1017. =SP---------------------------------------------------------------------------
  1018.  
  1019. ;-h---------------------------------------------------------------------------
  1020. int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
  1021. -s--Vypínaƒ                                                                     ■   4  -2 -28   3
  1022. Vypínaƒ
  1023.   1!
  1024. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1025. 1 ;registrace a kreslení vypínaƒe
  1026.   Objekty[IDVypínaƒ].X=x+Objekty[okno].X;
  1027.   Objekty[IDVypínaƒ].Y=y+Objekty[okno].Y;
  1028.   Objekty[IDVypínaƒ].µí²ka=17+StrDélka(text)*8;
  1029.   Objekty[IDVypínaƒ].V∞τka=14;
  1030.   Objekty[IDVypínaƒ].Okno=okno;
  1031.   Objekty[IDVypínaƒ].ID=IDVypínaƒ;
  1032.   Objekty[IDVypínaƒ].Text=text;
  1033.   Objekty[IDVypínaƒ].Druh=4;
  1034.   Objekty[IDVypínaƒ].Styl=0;
  1035.   Objekty[IDVypínaƒ].Viditeln∞=1;
  1036.   Objekty[IDVypínaƒ].Spec=stav;
  1037.   if(událost==NULL) Objekty[IDVypínaƒ].P²i²azenaUdálost=0;
  1038.   else {
  1039.     Objekty[IDVypínaƒ].Zm╪na=událost;
  1040.     Objekty[IDVypínaƒ].P²i²azenaUdálost=1;
  1041.   }
  1042.   Seznamy[IDVypínaƒ].Poƒet=0;
  1043.   Objekty[IDVypínaƒ].PopUp=popup;
  1044.   _KresliVypínaƒ(IDVypínaƒ);
  1045.   ++IDVypínaƒ;
  1046.   return IDVypínaƒ-1;
  1047. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1048. =SP---------------------------------------------------------------------------
  1049.  
  1050. ;-h---------------------------------------------------------------------------
  1051. void _KresliTextovéPole( int ID )
  1052. -s--_KresliTextovéPole                                                          ■   6  -2 -23   3
  1053. KresliTextovéPole
  1054.         /1
  1055.         │
  1056.    12345!
  1057. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1058. 1 MyτSchovejKurzor();
  1059.  
  1060.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1061.   int x1,x2,y1,y2;
  1062.   string text;
  1063.   x1=Objekty[ID].X;
  1064.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1065.   y1=Objekty[ID].Y;
  1066.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1067.   text=Objekty[ID].Text;
  1068.  
  1069. 2 ; kreslení textového pole
  1070.   GrNastavBarvy(0x88);
  1071.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1072.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1073.   GrNastavBarvy(0x00);
  1074.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1075.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1076.   GrNastavBarvy(0xff);
  1077.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1078.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1079.   GrNastavBarvy(0x77);
  1080.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1081.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1082. 3 ; mazání obsahu
  1083.   GrNastavBarvy(0xFF);
  1084.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1085.  
  1086. 4 ; vypsání textu
  1087.   GrNastavPozici(x1+3,y1+3);
  1088.   GrNastavBarvy(0x00);
  1089.   GrPiτⁿet╪zec(text);
  1090.  
  1091. 5 MyτZobrazKurzor();
  1092. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1093. /1 ; Objekt je viditeln∞
  1094.    Objekty[ID].Viditeln∞==1
  1095. =SP---------------------------------------------------------------------------
  1096.  
  1097. ;-h---------------------------------------------------------------------------
  1098. string UpravTextovéPole( int ID )
  1099. -s--UpravTextovéPole                                                            ■   4  -2 -23   3
  1100. UpravTextovéPole
  1101.       1!
  1102. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1103. 1 int chyba=-1;
  1104.   do {
  1105.     GrNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+3);
  1106.     Gr¼tiSⁿet╪zec(0,Objekty[ID].Text,(Objekty[ID].µí²ka-6)/8,1,0xf0);
  1107.     if (Objekty[ID].Styl>=1) {
  1108.       string zprava;
  1109.       if (Objekty[ID].Styl==1) {
  1110.         StrNaL¼íslo(Objekty[ID].Text,&chyba);
  1111.         zprava="Zadejte prosím celé ƒíslo !";
  1112.       }
  1113.       else if (Objekty[ID].Styl==2) {
  1114.         StrNaD¼íslo(Objekty[ID].Text,&chyba);
  1115.         zprava="Zadejte prosím des. ƒíslo !";
  1116.       }
  1117.       if (chyba>=0) {
  1118.         int OknoChyba,TextChyba,ChybaTlOk;
  1119.         OknoChyba=Okno(195,185,300,110,"Chyba !",NULL,NULL);
  1120.         TextChyba=Text(50,50,OknoChyba,zprava,NULL,NULL);
  1121.         ChybaTlOk=Tlaƒítko(115,80,70,25,0,OknoChyba,"Ok",NULL,NULL);
  1122.         while(Události()!=ChybaTlOk) { }
  1123.         ZniƒOkno(OknoChyba);
  1124.         Obnov();
  1125.       }
  1126.     }
  1127.   }
  1128.   while(chyba>=0);
  1129.   MyτSchovejKurzor();
  1130.   GrNastavBarvy(0xff);
  1131.   GrKresliVypln╪n∞Obdélník(Objekty[ID].X+3,Objekty[ID].Y+3,Objekty[ID].X+Objekty[ID].µí²ka-3,Objekty[ID].Y+Objekty[ID].V∞τka-3);
  1132.   GrNastavBarvy(0x00);
  1133.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1134.   MyτZobrazKurzor();
  1135.   return Objekty[ID].Text;
  1136. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1137. =SP---------------------------------------------------------------------------
  1138.  
  1139. ;-h---------------------------------------------------------------------------
  1140. int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
  1141. -s--TextovéPole                                                                 ■   4  -2 -26   3
  1142. TextovéPole
  1143.     1!
  1144. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1145. 1 ;registrace a kreslení textového pole
  1146.   Objekty[IDTextovéPole].X=x+Objekty[okno].X;
  1147.   Objekty[IDTextovéPole].Y=y+Objekty[okno].Y;
  1148.   Objekty[IDTextovéPole].µí²ka=τí²ka;
  1149.   Objekty[IDTextovéPole].V∞τka=16;
  1150.   Objekty[IDTextovéPole].Okno=okno;
  1151.   Objekty[IDTextovéPole].ID=IDTextovéPole;
  1152.   Objekty[IDTextovéPole].Text=text;
  1153.   Objekty[IDTextovéPole].Druh=3;
  1154.   Objekty[IDTextovéPole].Styl=styl;
  1155.   Objekty[IDTextovéPole].Viditeln∞=1;
  1156.   if(událost==NULL) Objekty[IDTextovéPole].P²i²azenaUdálost=0;
  1157.   else {
  1158.     Objekty[IDTextovéPole].Zm╪na=událost;
  1159.     Objekty[IDTextovéPole].P²i²azenaUdálost=1;
  1160.   }
  1161.   Seznamy[IDTextovéPole].Poƒet=0;
  1162.   Objekty[IDTextovéPole].PopUp=popup;
  1163.   _KresliTextovéPole(IDTextovéPole);
  1164.   ++IDTextovéPole;
  1165.   return IDTextovéPole-1;
  1166. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1167. =SP---------------------------------------------------------------------------
  1168.  
  1169. ;-h---------------------------------------------------------------------------
  1170. void _KresliText( int ID )
  1171. -s--_KresliText                                                                 ■   3  -2 -27   3
  1172. KresliText
  1173.     /1
  1174.     │
  1175.  123!
  1176. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1177. 1 MyτSchovejKurzor();
  1178.  
  1179. 2 ; kreslení textu
  1180.   GrNastavPozici(Objekty[ID].X+1,Objekty[ID].Y+1);
  1181.   GrNastavBarvy(0xff);
  1182.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1183.   GrNastavPozici(Objekty[ID].X,Objekty[ID].Y);
  1184.   GrNastavBarvy(0x00);
  1185.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1186. 3 MyτZobrazKurzor();
  1187. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1188. /1 ; Objekt je viditeln∞
  1189.    Objekty[ID].Viditeln∞==1
  1190. =SP---------------------------------------------------------------------------
  1191.  
  1192. ;-h---------------------------------------------------------------------------
  1193. int Text( int  x,y,okno, string text,void (*událost)(),void (*popup)() )
  1194. -s--Text                                                                        ■   4  -2 -29   3
  1195. Text
  1196. 1!
  1197. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1198. 1 ;registrace a kreslení textu
  1199.   Objekty[IDText].X=x+Objekty[okno].X;
  1200.   Objekty[IDText].Y=y+Objekty[okno].Y;
  1201.   Objekty[IDText].µí²ka=StrDélka(text)*8;
  1202.   Objekty[IDText].V∞τka=10;
  1203.   Objekty[IDText].Okno=okno;
  1204.   Objekty[IDText].ID=IDText;
  1205.   Objekty[IDText].Text=text;
  1206.   Objekty[IDText].Druh=2;
  1207.   Objekty[IDText].Styl=0;
  1208.   Objekty[IDText].Viditeln∞=1;
  1209.   if(událost==NULL) Objekty[IDText].P²i²azenaUdálost=0;
  1210.   else {
  1211.     Objekty[IDText].Klik=událost;
  1212.     Objekty[IDText].P²i²azenaUdálost=1;
  1213.   }
  1214.   Seznamy[IDText].Poƒet=0;
  1215.   Objekty[IDText].PopUp=popup;
  1216.   _KresliText(IDText);
  1217.   ++IDText;
  1218.   return IDText-1;
  1219. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1220. =SP---------------------------------------------------------------------------
  1221.  
  1222. ;-h---------------------------------------------------------------------------
  1223. void _KresliTlaƒítko( int ID,z )
  1224. -s--_KresliTlaƒítko                                                             ■   4  -2 -25   3
  1225. KresliTlaĒtko
  1226.      /1
  1227.      │
  1228. 12345!
  1229. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1230. 1 MyτSchovejKurzor();
  1231.  
  1232.   ; vytvo²ení a p²i²azení prom╪nn∞chb
  1233.   int x1,x2,y1,y2;
  1234.   string text;
  1235.   x1=Objekty[ID].X;
  1236.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1237.   y1=Objekty[ID].Y;
  1238.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1239.   text=Objekty[ID].Text;
  1240.  
  1241. 2 ; kreslení tlaƒítka
  1242.   if (Objekty[ID].Styl==0) {
  1243.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  1244.     GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1245.     GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1246.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
  1247.     GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1248.     GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1249.     if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  1250.     GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1251.     GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1252.     if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
  1253.     GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1254.     GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1255.   }
  1256.   else if (Objekty[ID].Styl==1) {
  1257.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  1258.     GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1259.     GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1260.     if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  1261.     GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1262.     GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1263.   }
  1264. 3 ; mazání obsahu
  1265.   GrNastavBarvy(0x77);
  1266.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1267.  
  1268. 4 ; psaní textu
  1269.   GrNastavBarvy(0x70);
  1270.   if (z==0) GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1,(((y2-y1)-10)/2)+y1);
  1271.   else GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1+1,(((y2-y1)-10)/2)+y1+1);
  1272.   GrPiτⁿet╪zec(text);
  1273.  
  1274. 5 MyτZobrazKurzor();
  1275. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1276. /1 ; Objekt je viditeln∞
  1277.    Objekty[ID].Viditeln∞==1
  1278. =SP---------------------------------------------------------------------------
  1279.  
  1280. ;-h---------------------------------------------------------------------------
  1281. int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
  1282. -s--Tlaƒítko                                                                    ■   4  -2 -27   3
  1283. TlaĒtko
  1284.   1!
  1285. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1286. 1 ;registrace a kreslení tlaƒítka
  1287.   Objekty[IDTlaƒítko].X=x+Objekty[okno].X;
  1288.   Objekty[IDTlaƒítko].Y=y+Objekty[okno].Y;
  1289.   Objekty[IDTlaƒítko].µí²ka=τí²ka;
  1290.   Objekty[IDTlaƒítko].V∞τka=v∞τka;
  1291.   Objekty[IDTlaƒítko].Okno=okno;
  1292.   Objekty[IDTlaƒítko].ID=IDTlaƒítko;
  1293.   Objekty[IDTlaƒítko].Text=text;
  1294.   Objekty[IDTlaƒítko].Druh=1;
  1295.   Objekty[IDTlaƒítko].Styl=styl;
  1296.   Objekty[IDTlaƒítko].Viditeln∞=1;
  1297.   if(událost==NULL) Objekty[IDTlaƒítko].P²i²azenaUdálost=0;
  1298.   else {
  1299.     Objekty[IDTlaƒítko].Klik=událost;
  1300.     Objekty[IDTlaƒítko].P²i²azenaUdálost=1;
  1301.   }
  1302.   Seznamy[IDTlaƒítko].Poƒet=0;
  1303.   Objekty[IDTlaƒítko].PopUp=popup;
  1304.   _KresliTlaƒítko(IDTlaƒítko,0);
  1305.   ++IDTlaƒítko;
  1306.   return IDTlaƒítko-1;
  1307. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1308. =SP---------------------------------------------------------------------------
  1309.  
  1310. ;-h---------------------------------------------------------------------------
  1311. void _KresliOkno( int ID,z )
  1312. -s--_KresliOkno                                                                 ■   4  -2 -27   3
  1313. KresliOkno
  1314.    1!
  1315. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1316. 1 MyτSchovejKurzor();
  1317.  
  1318.   ; vytvo²ení a p²i²azení prom╪nn∞chb
  1319.   int x1,x2,y1,y2;
  1320.   string text;
  1321.   x1=Objekty[ID].X;
  1322.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1323.   y1=Objekty[ID].Y;
  1324.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1325.   text=Objekty[ID].Text;
  1326.  
  1327.   if(z==0) {
  1328.   ; kreslení okrajà
  1329.   GrNastavBarvy(0x77);
  1330.   GrKresliLinku(x1,y1,x2,y1);
  1331.   GrKresliLinku(x1,y1,x1,y2);
  1332.   GrNastavBarvy(0x00);
  1333.   GrKresliLinku(x2,y1,x2,y2);
  1334.   GrKresliLinku(x2,y2,x1,y2);
  1335.   GrNastavBarvy(0xff);
  1336.   GrKresliLinku(x1+1,y1+1,x2-1,y1+1);
  1337.   GrKresliLinku(x1+1,y1+1,x1+1,y2-1);
  1338.   GrKresliLinku(x1,y1,x2-1,y1);
  1339.   GrKresliLinku(x1,y1,x1,y2-1);
  1340.   GrNastavBarvy(0x88);
  1341.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1342.   GrKresliLinku(x2-1,y2-1,x1+1,y2-1);
  1343.   GrNastavBarvy(0x77);
  1344.   GrKresliVypln╪n∞Obdélník(x1+2,y1+2,x2-2,y2-2);
  1345.  
  1346.   ; kreslení k²íºku
  1347.   GrNastavBarvy(0x00);
  1348.   GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
  1349.   GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
  1350.   GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
  1351.   GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
  1352.  
  1353.   ; titulek
  1354.   GrNastavBarvy(0x44);
  1355.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-26,y1+19);
  1356.   GrNastavBarvy(0x4f);
  1357.   GrNastavPozici(x1+9,y1+6);
  1358.   GrPiτⁿet╪zec(text);
  1359.   }
  1360.  
  1361.   else if (z==1) {
  1362.     GrNastavBarvy(0x77);
  1363.     GrKresliVypln╪n∞Obdélník(x2-10,y1+8,x2-18,y1+15);
  1364.     GrNastavBarvy(0x00);
  1365.     GrKresliLinku(x2-9,y1+9,x2-16,y1+16);
  1366.     GrKresliLinku(x2-10,y1+9,x2-17,y1+16);
  1367.     GrKresliLinku(x2-9,y1+16,x2-16,y1+9);
  1368.     GrKresliLinku(x2-10,y1+16,x2-17,y1+9);
  1369.   }
  1370.   else if (z==2) {
  1371.     GrNastavBarvy(0x77);
  1372.     GrKresliVypln╪n∞Obdélník(x2-9,y1+9,x2-17,y1+16);
  1373.     GrNastavBarvy(0x00);
  1374.     GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
  1375.     GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
  1376.     GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
  1377.     GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
  1378.   }
  1379.  
  1380.   MyτZobrazKurzor();
  1381. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1382. =SP---------------------------------------------------------------------------
  1383.  
  1384. ;-h---------------------------------------------------------------------------
  1385. int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
  1386. -s--Okno                                                                        ■   4  -2 -29   3
  1387. Okno
  1388. 1!
  1389. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1390. 1 ;registrace a kreslení tlaƒítka
  1391.   Objekty[IDOkno].X=x;
  1392.   Objekty[IDOkno].Y=y;
  1393.   Objekty[IDOkno].µí²ka=τí²ka;
  1394.   Objekty[IDOkno].V∞τka=v∞τka;
  1395.   Objekty[IDOkno].Druh=0;
  1396.   Objekty[IDOkno].ID=IDOkno;
  1397.   Objekty[IDOkno].Text=text;
  1398.   if(událost==NULL) Objekty[IDOkno].P²i²azenaUdálost=0;
  1399.   else {
  1400.     Objekty[IDOkno].Klik=událost;
  1401.     Objekty[IDOkno].P²i²azenaUdálost=1;
  1402.   }
  1403.   Objekty[IDOkno].PopUp=popup;
  1404.   _KresliOkno(IDOkno,0);
  1405.   ++IDOkno;
  1406.   return IDOkno-1;
  1407. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1408. =SP---------------------------------------------------------------------------
  1409.  
  1410. ;-h---------------------------------------------------------------------------
  1411. int Události( void )
  1412. -s--Události                                                                    ■  14  -2 -11   3
  1413.                                  Události
  1414.                                    0!
  1415.                                    Klik
  1416.                                    M!
  1417.              _______________________│_____
  1418.              │                        Obnovit?_________
  1419.          ____|____________               /:Obnovit==1 /
  1420.          /T              /              Ano           Ne
  1421.    stisk~tl~myτi        nic      :Obnov()!
  1422. 123456789!                     :Obnovit=0!
  1423.         A!
  1424. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1425. 0  int tl=StartTlaƒítko,
  1426.       okno=IDOkno-1,
  1427.       text=StartText,
  1428.       textpole=StartTextovéPole,
  1429.       vyp=StartVypínaƒ,
  1430.       pre=StartP²epínaƒ,
  1431.       vyb=StartV∞b╪r,
  1432.       menu=StartMenu;
  1433.  
  1434. M Myτ¼tiUdálost(gMyτUdálost);
  1435.  
  1436. 1 ; je stisk tlaƒítka u myτi i objektu
  1437.   tl=StartTlaƒítko;
  1438.   while (tl!=IDTlaƒítko) {
  1439.   ; je stisknuto viditelné tlaƒítko ?
  1440.   if(gMyτUdálost.X>Objekty[tl].X &&
  1441.      gMyτUdálost.Y>Objekty[tl].Y &&
  1442.      gMyτUdálost.X<Objekty[tl].X+Objekty[tl].µí²ka &&
  1443.      gMyτUdálost.Y<Objekty[tl].Y+Objekty[tl].V∞τka &&
  1444.      Objekty[tl].Okno==okno &&
  1445.      Objekty[tl].Viditeln∞==1) {
  1446.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[tl].Poƒet!=0) {
  1447.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,tl);
  1448.       Objekty[tl].PopUp();
  1449.       return -1;
  1450.     }
  1451.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1452.       _KresliTlaƒítko(tl,1);
  1453.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  1454.         { Myτ¼tiUdálost(gMyτUdálost); }
  1455.       _KresliTlaƒítko(tl,0);
  1456.       if (Objekty[tl].P²i²azenaUdálost==1) Objekty[tl].Klik();
  1457.       return tl;
  1458.     }
  1459.   }
  1460.     ++tl;
  1461.   }
  1462.  
  1463. 2 ; je p²esunuto aktivní okno
  1464.   if (gMyτUdálost.X>Objekty[okno].X+2 &&
  1465.       gMyτUdálost.Y>Objekty[okno].Y+2 &&
  1466.       gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka-25 &&
  1467.       gMyτUdálost.Y<Objekty[okno].Y+20) {
  1468.     int xok=gMyτUdálost.X-Objekty[okno].X, /* xok = X Okno Klik (bod kliku od levého horního rohu)*/
  1469.         yok=gMyτUdálost.Y-Objekty[okno].Y,
  1470.         mx=gMyτUdálost.X,
  1471.         my=gMyτUdálost.Y,
  1472.         mx1=gMyτUdálost.X,
  1473.         my1=gMyτUdálost.Y;
  1474.  
  1475.     GrNastavBarvuPop²edí(Bílá);
  1476.     GrNastavLinku(GrLinkaZpàsobKresleníXor);
  1477.  
  1478.     while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) {
  1479.  
  1480.       Myτ¼tiUdálost(gMyτUdálost);
  1481.       mx1=gMyτUdálost.X;
  1482.       my1=gMyτUdálost.Y;
  1483.       if(mx!=mx1 || my!=my1) { /* pohyb myτí */
  1484.         MyτSchovejKurzor();
  1485.  
  1486.         GrKresliObdélník(mx1-xok,my1-yok,mx1-xok+Objekty[okno].µí²ka,my1-yok+Objekty[okno].V∞τka);
  1487.         GrKresliObdélník(mx-xok,my-yok,mx-xok+Objekty[okno].µí²ka,my-yok+Objekty[okno].V∞τka);
  1488.  
  1489.         Myτ¼tiUdálost(gMyτUdálost);
  1490.         mx=gMyτUdálost.X;
  1491.         my=gMyτUdálost.Y;
  1492.  
  1493.         MyτZobrazKurzor();
  1494.       }
  1495.     }
  1496.     GrNastavLinku(GrLinkaZpàsobKresleníNormáln╪);
  1497.     P²esuσOkno(mx-xok,my-yok,okno);
  1498.     Obnov();
  1499.     return -1;
  1500.   }
  1501. 3 ; stisk v oblasti k²íºku
  1502.   if(gMyτUdálost.X>Objekty[okno].X+Objekty[okno].µí²ka-19 && gMyτUdálost.Y>Objekty[okno].Y+7 && gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka-11 && gMyτUdálost.Y<Objekty[okno].Y+15) {
  1503.    _KresliOkno(okno,1);
  1504.    while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) { Myτ¼tiUdálost(gMyτUdálost); }
  1505.    _KresliOkno(okno,2);
  1506.    if (Objekty[okno].P²i²azenaUdálost==1)  Objekty[okno].Klik();
  1507.    return okno;
  1508.   }
  1509.  
  1510.  
  1511. 4 ; stisk v oblasti textu
  1512.   while (text!=IDText) {
  1513.   if(gMyτUdálost.X>Objekty[text].X &&
  1514.      gMyτUdálost.Y>Objekty[text].Y &&
  1515.      gMyτUdálost.X<Objekty[text].X+Objekty[text].µí²ka &&
  1516.      gMyτUdálost.Y<Objekty[text].Y+Objekty[text].V∞τka &&
  1517.      Objekty[text].Okno==okno &&
  1518.      Objekty[text].Viditeln∞==1) {
  1519.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[text].Poƒet>0) {
  1520.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,text);
  1521.       Objekty[text].PopUp();
  1522.       return -1;
  1523.     }
  1524.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1525.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  1526.         { Myτ¼tiUdálost(gMyτUdálost); }
  1527.       if (Objekty[text].P²i²azenaUdálost==1)  Objekty[text].Klik();
  1528.       return text;
  1529.     }
  1530.    }
  1531.    ++text;
  1532.    }
  1533. 5 ; stisk v oblasti textového pole
  1534.   while (textpole!=IDTextovéPole) {
  1535.   if(gMyτUdálost.X>Objekty[textpole].X &&
  1536.      gMyτUdálost.Y>Objekty[textpole].Y &&
  1537.      gMyτUdálost.X<Objekty[textpole].X+Objekty[textpole].µí²ka &&
  1538.      gMyτUdálost.Y<Objekty[textpole].Y+Objekty[textpole].V∞τka &&
  1539.      Objekty[textpole].Okno==okno &&
  1540.      Objekty[textpole].Viditeln∞==1) {
  1541.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[textpole].Poƒet>0) {
  1542.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,textpole);
  1543.       Objekty[textpole].PopUp();
  1544.       return -1;
  1545.     }
  1546.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1547.       UpravTextovéPole(textpole);
  1548.       if (Objekty[textpole].P²i²azenaUdálost==1)  Objekty[textpole].Zm╪na();
  1549.       return textpole;
  1550.     }
  1551.    }
  1552.    ++textpole;
  1553.    }
  1554. 6 ; stisk v oblasti vypínaƒe
  1555.   while (vyp!=IDVypínaƒ) {
  1556.   if(gMyτUdálost.X>Objekty[vyp].X &&
  1557.      gMyτUdálost.Y>Objekty[vyp].Y &&
  1558.      gMyτUdálost.X<Objekty[vyp].X+Objekty[vyp].µí²ka &&
  1559.      gMyτUdálost.Y<Objekty[vyp].Y+Objekty[vyp].V∞τka &&
  1560.      Objekty[vyp].Okno==okno &&
  1561.      Objekty[vyp].Viditeln∞==1) {
  1562.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyp].Poƒet>0) {
  1563.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyp);
  1564.       Objekty[vyp].PopUp();
  1565.       return -1;
  1566.     }
  1567.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1568.       if (Objekty[vyp].Spec==1) Objekty[vyp].Spec=0;
  1569.       else if (Objekty[vyp].Spec==0) Objekty[vyp].Spec=1;
  1570.       _KresliVypínaƒ(vyp);
  1571.       if (Objekty[vyp].P²i²azenaUdálost==1)  Objekty[vyp].Zm╪na();
  1572.       return vyp;
  1573.     }
  1574.    }
  1575.    ++vyp;
  1576.    }
  1577.  
  1578. 7 ; stisk v oblasti p²epínaƒe
  1579.   while (pre!=IDP²epínaƒ) {
  1580.   if(gMyτUdálost.X>Objekty[pre].X &&
  1581.      gMyτUdálost.Y>Objekty[pre].Y &&
  1582.      gMyτUdálost.X<Objekty[pre].X+Objekty[pre].µí²ka &&
  1583.      gMyτUdálost.Y<Objekty[pre].Y+Objekty[pre].V∞τka &&
  1584.      Objekty[pre].Okno==okno &&
  1585.      Objekty[pre].Viditeln∞==1) {
  1586.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[pre].Poƒet>0) {
  1587.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,pre);
  1588.       Objekty[pre].PopUp();
  1589.       return -1;
  1590.     }
  1591.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1592.       int pre1=StartP²epínaƒ;
  1593.       while (pre1!=IDP²epínaƒ) {
  1594.         if(Objekty[pre1].Skupina==Objekty[pre].Skupina && pre1!=pre) {
  1595.           Objekty[pre1].Spec=0;
  1596.           _KresliP²epínaƒ(pre1);
  1597.         }
  1598.         ++pre1;
  1599.       }
  1600.       Objekty[pre].Spec=1;
  1601.       _KresliP²epínaƒ(pre);
  1602.       if (Objekty[pre].P²i²azenaUdálost==1) Objekty[pre].Zm╪na();
  1603.       return pre;
  1604.     }
  1605.    }
  1606.    ++pre;
  1607.    }
  1608.  
  1609. 8 ; stisk v oblasti tlaƒíka v∞b╪ru
  1610.   while (vyb!=IDV∞b╪r) {
  1611.   if(gMyτUdálost.X>Objekty[vyb].X+Objekty[vyb].µí²ka-13 &&
  1612.      gMyτUdálost.Y>Objekty[vyb].Y+2 &&
  1613.      gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka-2 &&
  1614.      gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka-2 &&
  1615.      Objekty[vyb].Okno==okno &&
  1616.      Objekty[vyb].Viditeln∞==1) {
  1617.     if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1618.       _KresliV∞b╪r(vyb,1);
  1619.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  1620.         { Myτ¼tiUdálost(gMyτUdálost); }
  1621.       _KresliV∞b╪r(vyb,0);
  1622.       Spus£V∞b╪r(vyb);
  1623.       if (Objekty[vyb].P²i²azenaUdálost==1) Objekty[vyb].Zm╪na();
  1624.       return vyb;
  1625.     }
  1626.   }
  1627.   if(gMyτUdálost.X>Objekty[vyb].X &&
  1628.      gMyτUdálost.Y>Objekty[vyb].Y &&
  1629.      gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka &&
  1630.      gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka &&
  1631.      Objekty[vyb].Okno==okno &&
  1632.      Objekty[vyb].Viditeln∞==1) {
  1633.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyb].Poƒet>0) {
  1634.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyb);
  1635.       Objekty[vyb].PopUp();
  1636.       return -1;
  1637.     }
  1638.   }
  1639.   ++vyb;
  1640.   }
  1641.  
  1642. 9 ; stisk v oblasti menu
  1643.   menu=StartMenu;
  1644.   while (menu!=IDMenu) {
  1645.   if(gMyτUdálost.X>Objekty[menu].X &&
  1646.      gMyτUdálost.Y>Objekty[menu].Y &&
  1647.      gMyτUdálost.X<Objekty[menu].X+Objekty[menu].µí²ka &&
  1648.      gMyτUdálost.Y<Objekty[menu].Y+Objekty[menu].V∞τka &&
  1649.      Objekty[menu].Okno==okno &&
  1650.      Objekty[menu].Viditeln∞==1) {
  1651.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[menu].Poƒet>0) {
  1652.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,menu);
  1653.       Objekty[menu].PopUp();
  1654.       return -1;
  1655.     }
  1656.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1657.       _KresliMenu(menu,1);
  1658.       Spus£Menu(menu);
  1659.       if (Objekty[menu].P²i²azenaUdálost==1) Objekty[menu].Zm╪na();
  1660.       return menu;
  1661.     }
  1662.   }
  1663.     ++menu;
  1664.   }
  1665. A ; stisk v oblasti okna (pro PopUp)
  1666.   if(gMyτUdálost.X>Objekty[okno].X &&
  1667.      gMyτUdálost.Y>Objekty[okno].Y+20 &&
  1668.      gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka &&
  1669.      gMyτUdálost.Y<Objekty[okno].Y+Objekty[okno].V∞τka) {
  1670.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[okno].Poƒet>0) {
  1671.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,okno);
  1672.       Objekty[okno].PopUp();
  1673.       return -1;
  1674.     }
  1675.   }
  1676. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1677. /T gMyτUdálost.Typ == MyτUdálostLevéTlDolà || gMyτUdálost.Typ == MyτUdálostPravéTlDolà
  1678. =SP---------------------------------------------------------------------------
  1679.  
  1680. ;-h---------------------------------------------------------------------------
  1681. void main( void )
  1682. -s--Init                                                                        ■  10  -2  -9   3
  1683.    ______________Init______________________________
  1684. Zaƒátek    ____Prost²edek_________________      Konec
  1685.  0[!       /:GrafickáKarta()>=KartaVGA   /        !]
  1686.      Karta~Vyhovuje               Karta~Nevyhovuje
  1687.          12!              :P²epniNaText()!
  1688.            e                            N!
  1689.           3!                   :Tón(1000)!
  1690.                               :¼ekej(500)!
  1691.                               :VypniTón()!
  1692.                         :¼ekejNaKlávesu()!
  1693. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1694. 0
  1695. [ ;vytvo² Baltazaràv grafick∞ prostor
  1696.    Vytvo²Prostor(); MyτZaƒátekObsluhy();
  1697. ] ;zruτ Baltazaràv grafick∞ prostor
  1698.   MyτKonecObsluhy(); ZruτProstor();
  1699. 1 GrNaƒtiPaletu("*\\GUI.pal");
  1700.   GrNastavMód(GrMódVGA);
  1701.   GrNastavV∞stup(2);
  1702.   GrNastavBarvy(0x66);
  1703.   GrSmaºOkno();
  1704.   MyτZobrazKurzor();
  1705.   GrNastavText(GrTextBezPozadí);
  1706.  
  1707. 2 ; Uºivatelské objekty
  1708.  
  1709. 3 while(Konec==0) {
  1710.     Události();
  1711.   }
  1712. N TxtPiτⁿet╪zec("Nevyhovující grafická karta !!!");
  1713. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1714. =SP---------------------------------------------------------------------------
  1715.  
  1716. //
  1717. // Konec souboru
  1718. //////////////////
  1719.