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

  1. SGPC   5.03 CZ0#352N00227 22.06.2024 23:17:03                                    StructNo14  14
  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.     PopUpID=-1; /* Specifické pro VDev */
  67.  
  68. TSeznam Seznamy[105],MenuVybSeznamy[105];
  69.  
  70. int Okno1,Konec=0;
  71.  
  72. char Viditelnost[105]; /* Specifické pro VDev */
  73.  
  74. /////////////////////
  75. // Pomocné definice
  76. //
  77.  
  78. #define NE      0
  79. #define ANO     1
  80.  
  81. #define ABS(x)  ((x)>0?(x):-(x))
  82.  
  83. #define __CYKLUS(N)   __Cyklus(1,N);__Cyklus(0,N);   //Hlava cyklu
  84. #define __MPVC_ 100   //Maximální poƒet vno²en∞ch cyklà
  85.  
  86. int __Cyklus( int Nov∞, int Poƒet )
  87. //Nov∞ > 0: Otev²ení nového cyklu s N opakováními (vƒetn╪ 0)
  88. //Nov∞ = 0: Dalτí pràchod cyklem
  89. //Nov∞ < 0: P²edƒasné ukonƒení cyklu
  90. { static int I[__MPVC_];
  91.   static int i = -1;
  92.   if( Nov∞ > 0 )
  93.   { if( ++i >= __MPVC_)
  94.     { TxtPiτⁿet╪zec("P²íliτ mnoho vno²en∞ch cyklà");
  95.       while(1) {Tón(1000);};
  96.     }else I[i]=Poƒet;
  97.   }else if( Nov∞ == 0 )
  98.   { if(--I[i]<0){ i--; return(0);}
  99.                   else return(1);
  100.   }else return(-(i--));  //Vrací zápornou aktuální hloubku vno²ení
  101. }  //Cyklus
  102.  
  103. void ¼ekejNaReakci(void)
  104. //¼eká na sitsk klávesy nebo tlaƒítka myτi
  105. { VyprázdniFrontuKláves();
  106.   MyτVyprázdniFrontuUdálostí();
  107.   ¼ekej(NaKlávesu|NaMyτ);
  108.   VyprázdniFrontuKláves();
  109.   MyτVyprázdniFrontuUdálostí();
  110. } //¼ekejNaReakci
  111.  
  112. long ¥¼ti¼íslo ( char* Text )
  113. { long Vrátit = 0;
  114.   GrNastavPozici(272, 0);
  115.   Gr¼tiL¼íslo(Text,Vrátit,8,1,0xe);
  116.   GrNastavPozici(272, 0);
  117.   GrPiτⁿet╪zec( "               " );
  118.   return Vrátit;
  119. } //¥¼ti¼íslo
  120.  
  121. long BaltEmuluj( char* Text )
  122. { long       Vrátit = 0;
  123.   int        Klávesa;
  124.   int        Konec = 0;
  125.   TypP²edm╪t P²edm╪t=1;
  126.   VyprázdniFrontuKláves();
  127.   GrNastavBarvy( 0x7 );  GrSmaºOkno();
  128.   GrPiτⁿet╪zec( Text );
  129.   Tón(1000); ¼ekej(10); VypniTón();
  130.   while (!Konec)
  131.   { int p;
  132.     GrNastavPozici(0, GrV∞τkaZnaku);
  133.     GrPiτⁿet╪zec( "ⁿá: "); GrPiτL¼íslo( PoziceBaltazaraY(), 2 );
  134.     GrPiτⁿet╪zec( ",  Sl: " ); GrPiτL¼íslo( PoziceBaltazaraX(), 2 );
  135.     GrPiτⁿet╪zec( ",  Sm: " );
  136.     int s=Sm╪rBaltazara();
  137.     GrPiτⁿet╪zec( s==V∞chod ? "V∞chod" :
  138.                   s==Jih    ? "Jih   " :
  139.                   s==Západ  ? "Západ " :
  140.                               "Sever " );
  141.     GrPiτⁿet╪zec( ",  Ba: " ); NastavBarvu¼arování( p=NastavBarvu¼arování(0));
  142.                               GrPiτL¼íslo( p, 2 );
  143.     GrPiτⁿet╪zec( ",  Ry: " ); RychlostBaltazara(p = RychlostBaltazara(0));
  144.                               GrPiτL¼íslo( p, 2 );
  145.     switch ¼tiKlávesuZFrontyS¼ekáním()
  146.     { case KlDoleva:   VlevoVbok(); break;
  147.       case KlDoprava:  VpravoVbok(); break;
  148.       case KlNahoru:   Popojdi(1); break;
  149.       case KlDolà:     ¼aruj(Baltedit()); break;
  150.       case KlIns:      Vrátit = ¥¼ti¼íslo( "¼íslo: " ); break;
  151.       case 'B':
  152.       case 'b':        NastavBarvu¼arování( ¥¼ti¼íslo("Barva: ") ); break;
  153.       case 'C':
  154.       case 'c':        ¼aruj(¼tverec); break;
  155.       case 'R':
  156.       case 'r':        RychlostBaltazara( ¥¼ti¼íslo("Rychlost: ") ); break;
  157.       case KlEnter:    Konec = 1; break;
  158.     } //switch
  159.   } //while
  160.   GrNastavBarvy( 0x77 ); GrSmaºOkno();
  161.   return Vrátit;
  162. } //BaltEmuluj
  163.  
  164.  
  165. ///////////////////
  166. // Globální makra
  167. //
  168. -o1-Globals ----------------------------------------------------------------
  169. 0 ;prom╪nné
  170.   ;globální prom╪nné (jsou definovány v globálních definicích  Ctrl+G):
  171.     ;prom╪nné celoƒíselné: gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ,gKlávesa;
  172.        ;dalτí p²eddefinované globální prom╪nné mají vºdy p²edponu g..
  173.        ;a jejich názvy jsou shodné s lokálními prom╪nn∞mi definovan∞mi níºe,
  174.        ;nap². gD¼íslo1, gⁿet╪zec atd.
  175.   ;lokální prom╪nné:
  176.     ;prom╪nné celoƒíselné:
  177.        int     a,b,c,d,e,f,g,h,i,j,Klávesa,      //rozsah -32768..32767
  178.                I¼íslo1,I¼íslo2,I¼íslo3,PàvBarvy;
  179.     ;prom╪nné reálné:
  180.        double  D¼íslo1,D¼íslo2,D¼íslo3;          //rozsah 5.0E-324..1.7E308
  181.     ;prom╪nná znak:
  182.        char    Znak;
  183.     ;prom╪nná ²et╪zec:
  184.        string  ⁿet╪zec;
  185. [ ;vytvo² Baltazaràv grafick∞ prostor
  186.    Vytvo²Prostor(); MyτZaƒátekObsluhy();
  187. ] ;zruτ Baltazaràv grafick∞ prostor
  188.    MyτKonecObsluhy(); ZruτProstor();
  189. a Klávesa= ¼tiKlávesuZFronty();
  190. b P²epniNaBaltazara();
  191. c ¼aruj(¼tverec);
  192. d Gr¼tiZnak("?",Znak,1,0x07);            /*      edit ano, ƒerná/sv.τedá*/
  193. ╨ return BaltEmuluj("Hodnota?");
  194. e BezObláƒku();
  195. f VyprázdniFrontuKláves();
  196. g Gr¼tiSⁿet╪zec("?",ⁿet╪zec,40,1,0x3f);  /*40zn, edit ano, modrá/bílá   */
  197. h Gr¼tiI¼íslo("?",I¼íslo1,6,0,0x0e);     /* 6zn, edit  ne, ƒerná/ºlutá  */
  198. i Gr¼tiD¼íslo("?",D¼íslo1,20,1,0x0f);    /*20zn, edit  ne, ƒerná/bílá   */
  199. j GrPiτZnak(Znak);
  200. k Klávesa= ¼tiKlávesuZFrontyS¼ekáním();
  201. l VlevoVbok();
  202. ê BaltEmuluj("STOP");
  203. m ;vypiτ ⁿet╪zec do grafického okénka
  204.    PàvBarvy=GrNastavBarvy(Modrá<<4|ªlutá); /*ºlutá na modré             */
  205.    GrPiτⁿet╪zec(ⁿet╪zec);                /*vypíτe obsah prom╪nné ⁿet╪zec*/
  206.    GrNastavBarvy(PàvBarvy);              /*nastaví pàvodní barvy        */
  207. n Neviditeln∞();
  208. o SObláƒkem();
  209. p Popojdi(1);
  210. q GrPiτL¼íslo(I¼íslo1,-1);               /* -1 = nejkratτí v∞pis        */
  211. r VpravoVbok();
  212. t P²epniNaText();
  213. u GrPiτD¼íslo(D¼íslo1,10,2);             /*10 ƒíslic, z toho 2 desetinné*/
  214. v Viditeln∞();
  215. w ;ƒekej na stisk klávesy nebo tlaƒítka myτi
  216.   ¼ekejNaReakci();
  217. x Skryj();
  218. y Odhal();
  219. z ;ƒelem vzad
  220.    VlevoVbok(); VlevoVbok();
  221. B NastavBarvu¼arování   /*       B:(barva)!   0-15                    */
  222. C ¼aruj                 /*     C:(p²edm╪t)!   1-150                   */
  223. ╤ return BaltEmuluj     /*     ╤:("Volno")!   "Test"                  */
  224. L NaƒtiScénu            /*    L:("soubor")!   "c:\\pavel\\soubor.s00" */
  225. ¥ BaltEmuluj            /*      ¥:("Text")!   "Test"                  */
  226. N Náhodn╪¼aruj          /*     N:(p²edm╪t)!   1-150                   */
  227. P Popojdi               /*  P:(poƒet_polí)!   0-14                    */
  228. R RychlostBaltazara     /*    R:(rychlost)!   0-9                     */
  229. S UloºScénu             /*    S:("soubor")!   "c:\\pavel\\soubor.s00" */
  230. W ¼ekej                 /*  W:(milisekund)!   0-32000                 */
  231. X ¼arujNaPozici         /* X:(p²edm╪t,x,y)!   1-150, 1-15, 1-10       */
  232. -c1-Globals ---- (? lze pouºít jako náhrada pouze pro /,*,+) -----------------
  233. ?n PràchodnostP²edm╪tuP²edB() Je 0
  234. ?p PràchodnostP²edm╪tuP²edB() Je 1
  235. ?B Barva¼tverceP²edB()  /* Je, Není, <, >, <= ,>= */
  236. ?P P²edm╪tP²edB()       /* Je, Není, <, >, <= ,>= */
  237. ?S Sm╪rBaltazara()      /* Je, Není, <, >, <= ,>= */
  238. \b Barva¼tverceP²edB()??
  239. \p P²edm╪tP²edB()??
  240. \s Sm╪rBaltazara()??
  241. \C case
  242. #C ; n-krát                                     #C:(5)         5₧
  243.     __CYKLUS
  244. #A ;opakuj vzestupn╪ pro prom╪nnou od,do,krok   #A:(i,2,10,2)  i=2,4..10
  245.     OdDoKrok
  246. #D ;opakuj sestupn╪  pro prom╪nnou od,do,krok   #D:(i,10,2,2)  i=10,8..2
  247.     OdDolàDoKrok
  248. #M ;opakuj n-krát sestupn╪  pro prom╪nnou       #M:(i,8)  (8x) i=7,6..0
  249.     DolàDo0
  250. #N ;opakuj n-krát vzestupn╪ pro prom╪nnou       #N:(i,8)  (8x) i=0,1..7
  251.     Od0
  252. ===Globals ------------------------------------------------------------------
  253. /*-hf(*/
  254. /*-hf-*/
  255. void Okno1XKlik( void )
  256. /*-hf-*/;
  257. void Okno1PopUp( void )
  258. /*-hf-*/;
  259. void Uºivatelsk∞ObjektPopUp( void )
  260. /*-hf-*/;
  261. void ZniƒOkno( int ID )
  262. /*-hf-*/;
  263. void P²esuσOkno( int x,y,ID )
  264. /*-hf-*/;
  265. void Obnov( void )
  266. /*-hf-*/;
  267. void P²idejPoloºku( int ID,string text )
  268. /*-hf-*/;
  269. void MenuV∞b╪rP²idejPoloºku( int ID, string text )
  270. /*-hf-*/;
  271. int Spus£PopUpMenu( int x2,y2,ID )
  272. /*-hf-*/;
  273. void _KresliMenu( int ID,z )
  274. /*-hf-*/;
  275. int Spus£Menu( int ID )
  276. /*-hf-*/;
  277. int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
  278. /*-hf-*/;
  279. void _KresliV∞b╪r( int ID,z )
  280. /*-hf-*/;
  281. int Spus£V∞b╪r( int ID )
  282. /*-hf-*/;
  283. int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
  284. /*-hf-*/;
  285. void _KresliP²epínaƒ( int ID )
  286. /*-hf-*/;
  287. int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
  288. /*-hf-*/;
  289. void _KresliVypínaƒ( int ID )
  290. /*-hf-*/;
  291. int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
  292. /*-hf-*/;
  293. void _KresliTextovéPole( int ID )
  294. /*-hf-*/;
  295. string UpravTextovéPole( int ID )
  296. /*-hf-*/;
  297. int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
  298. /*-hf-*/;
  299. void _KresliText( int ID )
  300. /*-hf-*/;
  301. int Text( int  x,y,okno, string text,void (*událost)(),void (*popup)() )
  302. /*-hf-*/;
  303. void _KresliTlaƒítko( int ID,z )
  304. /*-hf-*/;
  305. int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
  306. /*-hf-*/;
  307. void _KresliOkno( int ID,z )
  308. /*-hf-*/;
  309. int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
  310. /*-hf-*/;
  311. void P²esuσObjekt( int ID )
  312. /*-hf-*/;
  313. int VDevUdálosti( void )
  314. /*-hf-*/;
  315. int Události( void )
  316. /*-hf-*/;
  317. void main( void )
  318. /*-hf)*/;
  319. ;-h---------------------------------------------------------------------------
  320. void Okno1XKlik( void )
  321. -s--Okno1XKlik                                                                  ■   4  -2 -26   3
  322. Okno1XKlik
  323.    1!
  324. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  325. 1 ZniƒOkno(Okno1);
  326.   Konec=1;
  327. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  328. =SP---------------------------------------------------------------------------
  329.  
  330. ;-h---------------------------------------------------------------------------
  331. void Okno1PopUp( void )
  332. -s--Okno1PopUp                                                                  ■   4  -2 -26   3
  333. Okno1PopUp
  334.    1!
  335. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  336. 1 if(Seznamy[Okno1].V∞b╪r==0) {
  337.     int OknoNov∞Objekt,TextNov∞Objekt,TlOk,TlStorno,PreTl,PreText,
  338.         PreTextPole,PreVyb,PreVyp,PrePre,PreMenu,udalost;
  339.     OknoNov∞Objekt=Okno(195,90,250,300,"Vytvo²it nov∞ objekt",NULL,NULL);
  340.     TextNov∞Objekt=Text(10,30,OknoNov∞Objekt,"Vyberte druh objektu:",NULL,NULL);
  341.     PreTl=P²epínaƒ(10,50,1,1,OknoNov∞Objekt,"Tlaƒítko",NULL,NULL);
  342.     PreText=P²epínaƒ(10,70,0,1,OknoNov∞Objekt,"Text",NULL,NULL);
  343.     PreTextPole=P²epínaƒ(10,90,0,1,OknoNov∞Objekt,"Textové pole",NULL,NULL);
  344.     PreVyb=P²epínaƒ(10,110,0,1,OknoNov∞Objekt,"V∞b╪r",NULL,NULL);
  345.     PreVyp=P²epínaƒ(10,130,0,1,OknoNov∞Objekt,"Vypínaƒ",NULL,NULL);
  346.     PrePre=P²epínaƒ(10,150,0,1,OknoNov∞Objekt,"P²epínaƒ",NULL,NULL);
  347.     PreMenu=P²epínaƒ(10,170,0,1,OknoNov∞Objekt,"Menu",NULL,NULL);
  348.     TlStorno=Tlaƒítko(10,265,70,25,0,OknoNov∞Objekt,"Storno",NULL,NULL);
  349.     TlOk=Tlaƒítko(170,265,70,25,0,OknoNov∞Objekt,"Ok",NULL,NULL);
  350.     while(udalost!=TlOk && udalost!=TlStorno) {
  351.       udalost=Události();
  352.     }
  353.     ZniƒOkno(OknoNov∞Objekt);
  354.     if(udalost==TlOk) {
  355.       int ID;
  356.       if(Objekty[PreTl].Spec==1) {
  357.         ID=Tlaƒítko(10,30,70,20,0,Okno1,"Tl"+StrL¼íslo(IDTlaƒítko-StartTlaƒítko+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  358.       }
  359.       if(Objekty[PreText].Spec==1) {
  360.         ID=Text(10,30,Okno1,"Text"+StrL¼íslo(IDText-StartText+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  361.       }
  362.       if(Objekty[PreTextPole].Spec==1) {
  363.         ID=TextovéPole(10,30,100,0,Okno1,"TextPole"+StrL¼íslo(IDTextovéPole-StartTextovéPole+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  364.       }
  365.       if(Objekty[PreVyb].Spec==1) {
  366.         ID=V∞b╪r(10,30,100,Okno1,"V∞b╪r"+StrL¼íslo(IDV∞b╪r-StartV∞b╪r+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  367.       }
  368.       if(Objekty[PreVyp].Spec==1) {
  369.         ID=Vypínaƒ(10,30,0,Okno1,"Vypínaƒ"+StrL¼íslo(IDVypínaƒ-StartVypínaƒ+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  370.       }
  371.       if(Objekty[PrePre].Spec==1) {
  372.         ID=P²epínaƒ(10,30,0,0,Okno1,"P²epínaƒ"+StrL¼íslo(IDP²epínaƒ-StartP²epínaƒ+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  373.       }
  374.       if(Objekty[PreMenu].Spec==1) {
  375.         ID=Menu(10,30,Okno1,"Menu"+StrL¼íslo(IDMenu-StartMenu+1,-1),NULL,&Uºivatelsk∞ObjektPopUp);
  376.       }
  377.       P²idejPoloºku(ID,"Vlastnosti");
  378.       P²idejPoloºku(ID,"Odstranit");
  379.     }
  380.   }
  381.   else if(Seznamy[Okno1].V∞b╪r==1) Uºivatelsk∞ObjektPopUp();
  382.   else if(Seznamy[Okno1].V∞b╪r==2) {
  383.     int OknoSoubor,TextSoubor,TextPoleSoubor,TlOk,TlStorno,udalost;
  384.     OknoSoubor=Okno(145,190,350,85,"Generování kódu",NULL,NULL);
  385.     TextSoubor=Text(88,25,OknoSoubor,"Zadejte jméno souboru:",NULL,NULL);
  386.     TextPoleSoubor=TextovéPole(10,40,330,0,OknoSoubor,Adresá²Aktuální(0)+"\\",NULL,NULL);
  387.     TlStorno=Tlaƒítko(50,60,70,20,0,OknoSoubor,"Storno",NULL,NULL);
  388.     TlOk=Tlaƒítko(230,60,70,20,0,OknoSoubor,"Ok",NULL,NULL);
  389.     while(udalost!=TlOk && udalost!=TlStorno) {
  390.       udalost=Události();
  391.     }
  392.     ZniƒOkno(OknoSoubor);
  393.     if (udalost==TlOk) {
  394.       if ( SouborExistuje(Objekty[TextPoleSoubor].Text) ) {
  395.         udalost=-1;
  396.         OknoSoubor=Okno(145,190,350,85,"Varování",NULL,NULL);
  397.         TextSoubor=Text(15,25,OknoSoubor,"Soubor existuje! P²ejete si ho p²epstat?",NULL,NULL);
  398.         TlStorno=Tlaƒítko(50,60,70,20,0,OknoSoubor,"Ne",NULL,NULL);
  399.         TlOk=Tlaƒítko(230,60,70,20,0,OknoSoubor,"Ano",NULL,NULL);
  400.         while(udalost!=TlOk && udalost!=TlStorno) {
  401.           udalost=Události();
  402.         }
  403.         ZniƒOkno(OknoSoubor);
  404.         if (udalost==TlOk) SouborSmaº(Objekty[TextPoleSoubor].Text);
  405.         if (udalost==TlStorno) return;
  406.       }
  407.     }
  408.     TypSoubor Soubor;
  409.     Soubor= SouborOtev²i(Objekty[TextPoleSoubor].Text,SouborP²ístupZápis|SouborP²ístupTextov∞);
  410.     if (Soubor==0) return;
  411.     string promenne;
  412.     int tl=StartTlaƒítko,text=StartText,textpole=StartTextovéPole,
  413.         vyp=StartVypínaƒ,pre=StartP²epínaƒ,vyb=StartV∞b╪r,menu=StartMenu;
  414.  
  415.      promenne="int Okno1,";
  416.  
  417.      SouborPiτⁿet╪zec(Soubor,"// Objekty");
  418.      SouborPiτNov∞ⁿádek(Soubor);
  419.      SouborPiτNov∞ⁿádek(Soubor);
  420.  
  421.      SouborPiτⁿet╪zec(Soubor,"Okno1=Okno(");
  422.      SouborPiτL¼íslo(Soubor,Objekty[Okno1].X,-1);
  423.      SouborPiτZnak(Soubor,',');
  424.      SouborPiτL¼íslo(Soubor,Objekty[Okno1].Y,-1);
  425.      SouborPiτZnak(Soubor,',');
  426.      SouborPiτL¼íslo(Soubor,Objekty[Okno1].µí²ka,-1);
  427.      SouborPiτZnak(Soubor,',');
  428.      SouborPiτL¼íslo(Soubor,Objekty[Okno1].V∞τka,-1);
  429.      SouborPiτZnak(Soubor,',');
  430.      SouborPiτⁿet╪zec(Soubor,'"'+Objekty[Okno1].Text+'"'+",NULL,NULL);");
  431.      SouborPiτNov∞ⁿádek(Soubor);
  432.  
  433.  
  434.      while(tl!=IDTlaƒítko) {
  435.        if (Objekty[tl].Viditeln∞==1) {
  436.          SouborPiτⁿet╪zec(Soubor,"Tl");
  437.          SouborPiτL¼íslo(Soubor,tl-StartTlaƒítko+1,-1);
  438.          promenne=promenne+"Tl"+StrL¼íslo(tl-StartTlaƒítko+1,-1)+",";
  439.          SouborPiτⁿet╪zec(Soubor,"=Tlaƒítko(");
  440.          SouborPiτL¼íslo(Soubor,Objekty[tl].X-Objekty[Okno1].X,-1);
  441.          SouborPiτZnak(Soubor,',');
  442.          SouborPiτL¼íslo(Soubor,Objekty[tl].Y-Objekty[Okno1].Y,-1);
  443.          SouborPiτZnak(Soubor,',');
  444.          SouborPiτL¼íslo(Soubor,Objekty[tl].µí²ka,-1);
  445.          SouborPiτZnak(Soubor,',');
  446.          SouborPiτL¼íslo(Soubor,Objekty[tl].V∞τka,-1);
  447.          SouborPiτZnak(Soubor,',');
  448.          SouborPiτL¼íslo(Soubor,Objekty[tl].Styl,-1);
  449.          SouborPiτZnak(Soubor,',');
  450.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[tl].Text+'"'+",NULL,NULL);");
  451.          SouborPiτNov∞ⁿádek(Soubor);
  452.          if(Viditelnost[tl]==1) {
  453.            SouborPiτⁿet╪zec(Soubor,"Objekty[Tl"+StrL¼íslo(tl-StartTlaƒítko+1,-1)+"].Viditeln∞=0;");
  454.            SouborPiτNov∞ⁿádek(Soubor);
  455.          }
  456.        }
  457.        ++tl;
  458.      }
  459.  
  460.      while(textpole!=IDTextovéPole) {
  461.        if (Objekty[textpole].Viditeln∞==1) {
  462.          SouborPiτⁿet╪zec(Soubor,"TextPole");
  463.          SouborPiτL¼íslo(Soubor,textpole-StartTextovéPole+1,-1);
  464.          promenne=promenne+"TextPole"+StrL¼íslo(textpole-StartTextovéPole+1,-1)+",";
  465.          SouborPiτⁿet╪zec(Soubor,"=TextovéPole(");
  466.          SouborPiτL¼íslo(Soubor,Objekty[textpole].X-Objekty[Okno1].X,-1);
  467.          SouborPiτZnak(Soubor,',');
  468.          SouborPiτL¼íslo(Soubor,Objekty[textpole].Y-Objekty[Okno1].Y,-1);
  469.          SouborPiτZnak(Soubor,',');
  470.          SouborPiτL¼íslo(Soubor,Objekty[textpole].µí²ka,-1);
  471.          SouborPiτZnak(Soubor,',');
  472.          SouborPiτL¼íslo(Soubor,Objekty[textpole].Styl,-1);
  473.          SouborPiτZnak(Soubor,',');
  474.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[textpole].Text+'"'+",NULL,NULL);");
  475.          SouborPiτNov∞ⁿádek(Soubor);
  476.          if(Viditelnost[textpole]==1) {
  477.            SouborPiτⁿet╪zec(Soubor,"Objekty[TextPole"+StrL¼íslo(textpole-StartTextovéPole+1,-1)+"].Viditeln∞=0;");
  478.            SouborPiτNov∞ⁿádek(Soubor);
  479.          }
  480.        }
  481.        ++textpole;
  482.      }
  483.  
  484.      while(text!=IDText) {
  485.        if (Objekty[text].Viditeln∞==1) {
  486.          SouborPiτⁿet╪zec(Soubor,"Text");
  487.          SouborPiτL¼íslo(Soubor,text-StartText+1,-1);
  488.          promenne=promenne+"Text"+StrL¼íslo(text-StartText+1,-1)+",";
  489.          SouborPiτⁿet╪zec(Soubor,"=Text(");
  490.          SouborPiτL¼íslo(Soubor,Objekty[text].X-Objekty[Okno1].X,-1);
  491.          SouborPiτZnak(Soubor,',');
  492.          SouborPiτL¼íslo(Soubor,Objekty[text].Y-Objekty[Okno1].Y,-1);
  493.          SouborPiτZnak(Soubor,',');
  494.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[text].Text+'"'+",NULL,NULL);");
  495.          SouborPiτNov∞ⁿádek(Soubor);
  496.          if(Viditelnost[text]==1) {
  497.            SouborPiτⁿet╪zec(Soubor,"Objekty[Text"+StrL¼íslo(text-StartText+1,-1)+"].Viditeln∞=0;");
  498.            SouborPiτNov∞ⁿádek(Soubor);
  499.          }
  500.        }
  501.        ++text;
  502.      }
  503.  
  504.      while(vyp!=IDVypínaƒ) {
  505.        if (Objekty[vyp].Viditeln∞==1) {
  506.          SouborPiτⁿet╪zec(Soubor,"Vyp");
  507.          SouborPiτL¼íslo(Soubor,vyp-StartVypínaƒ+1,-1);
  508.          promenne=promenne+"Vyp"+StrL¼íslo(vyp-StartVypínaƒ+1,-1)+",";
  509.          SouborPiτⁿet╪zec(Soubor,"=Vypínaƒ(");
  510.          SouborPiτL¼íslo(Soubor,Objekty[vyp].X-Objekty[Okno1].X,-1);
  511.          SouborPiτZnak(Soubor,',');
  512.          SouborPiτL¼íslo(Soubor,Objekty[vyp].Y-Objekty[Okno1].Y,-1);
  513.          SouborPiτZnak(Soubor,',');
  514.          SouborPiτL¼íslo(Soubor,Objekty[vyp].Spec,-1);
  515.          SouborPiτZnak(Soubor,',');
  516.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[vyp].Text+'"'+",NULL,NULL);");
  517.          SouborPiτNov∞ⁿádek(Soubor);
  518.          if(Viditelnost[vyp]==1) {
  519.            SouborPiτⁿet╪zec(Soubor,"Objekty[Vyp"+StrL¼íslo(vyp-StartVypínaƒ+1,-1)+"].Viditeln∞=0;");
  520.            SouborPiτNov∞ⁿádek(Soubor);
  521.          }
  522.        }
  523.        ++vyp;
  524.      }
  525.  
  526.     while(pre!=IDP²epínaƒ) {
  527.       if (Objekty[pre].Viditeln∞==1) {
  528.         SouborPiτⁿet╪zec(Soubor,"Pre");
  529.         SouborPiτL¼íslo(Soubor,pre-StartP²epínaƒ+1,-1);
  530.         promenne=promenne+"Pre"+StrL¼íslo(pre-StartP²epínaƒ+1,-1)+",";
  531.         SouborPiτⁿet╪zec(Soubor,"=P²epínaƒ(");
  532.         SouborPiτL¼íslo(Soubor,Objekty[pre].X-Objekty[Okno1].X,-1);
  533.         SouborPiτZnak(Soubor,',');
  534.         SouborPiτL¼íslo(Soubor,Objekty[pre].Y-Objekty[Okno1].Y,-1);
  535.         SouborPiτZnak(Soubor,',');
  536.         SouborPiτL¼íslo(Soubor,Objekty[pre].Spec,-1);
  537.         SouborPiτZnak(Soubor,',');
  538.         SouborPiτL¼íslo(Soubor,Objekty[pre].Skupina,-1);
  539.         SouborPiτZnak(Soubor,',');
  540.         SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[pre].Text+'"'+",NULL,NULL);");
  541.         SouborPiτNov∞ⁿádek(Soubor);
  542.         if(Viditelnost[pre]==1) {
  543.            SouborPiτⁿet╪zec(Soubor,"Objekty[Pre"+StrL¼íslo(pre-StartP²epínaƒ+1,-1)+"].Viditeln∞=0;");
  544.            SouborPiτNov∞ⁿádek(Soubor);
  545.         }
  546.       }
  547.       ++pre;
  548.     }
  549.  
  550.      while(vyb!=IDV∞b╪r) {
  551.        if (Objekty[vyb].Viditeln∞==1) {
  552.          SouborPiτⁿet╪zec(Soubor,"Vyb");
  553.          SouborPiτL¼íslo(Soubor,vyb-StartV∞b╪r+1,-1);
  554.          promenne=promenne+"Vyb"+StrL¼íslo(vyb-StartV∞b╪r+1,-1)+",";
  555.          SouborPiτⁿet╪zec(Soubor,"=V∞b╪r(");
  556.          SouborPiτL¼íslo(Soubor,Objekty[vyb].X-Objekty[Okno1].X,-1);
  557.          SouborPiτZnak(Soubor,',');
  558.          SouborPiτL¼íslo(Soubor,Objekty[vyb].Y-Objekty[Okno1].Y,-1);
  559.          SouborPiτZnak(Soubor,',');
  560.          SouborPiτL¼íslo(Soubor,Objekty[vyb].µí²ka,-1);
  561.          SouborPiτZnak(Soubor,',');
  562.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[vyb].Text+'"'+",NULL,NULL);");
  563.          SouborPiτNov∞ⁿádek(Soubor);
  564.          if(Viditelnost[vyb]==1) {
  565.            SouborPiτⁿet╪zec(Soubor,"Objekty[Vyb"+StrL¼íslo(vyb-StartV∞b╪r+1,-1)+"].Viditeln∞=0;");
  566.            SouborPiτNov∞ⁿádek(Soubor);
  567.          }
  568.        }
  569.        ++vyb;
  570.      }
  571.  
  572.      while(menu!=IDMenu) {
  573.        if (Objekty[menu].Viditeln∞==1) {
  574.          SouborPiτⁿet╪zec(Soubor,"Menu");
  575.          SouborPiτL¼íslo(Soubor,menu-StartMenu+1,-1);
  576.          promenne=promenne+"Menu"+StrL¼íslo(menu-StartMenu+1,-1)+",";
  577.          SouborPiτⁿet╪zec(Soubor,"=Menu(");
  578.          SouborPiτL¼íslo(Soubor,Objekty[menu].X-Objekty[Okno1].X,-1);
  579.          SouborPiτZnak(Soubor,',');
  580.          SouborPiτL¼íslo(Soubor,Objekty[menu].Y-Objekty[Okno1].Y,-1);
  581.          SouborPiτZnak(Soubor,',');
  582.          SouborPiτⁿet╪zec(Soubor,"Okno1,"+'"'+Objekty[menu].Text+'"'+",NULL,NULL);");
  583.          SouborPiτNov∞ⁿádek(Soubor);
  584.          if(Viditelnost[menu]==1) {
  585.            SouborPiτⁿet╪zec(Soubor,"Objekty[Menu"+StrL¼íslo(menu-StartMenu+1,-1)+"].Viditeln∞=0;");
  586.            SouborPiτNov∞ⁿádek(Soubor);
  587.          }
  588.        }
  589.        ++menu;
  590.      }
  591.      StrSmaºPod²et╪zec(promenne,-1,",");
  592.      promenne+=";";
  593.      SouborPiτNov∞ⁿádek(Soubor);
  594.      SouborPiτⁿet╪zec(Soubor,"// Prom╪nné");
  595.      SouborPiτNov∞ⁿádek(Soubor);
  596.      SouborPiτNov∞ⁿádek(Soubor);
  597.      SouborPiτⁿet╪zec(Soubor,promenne);
  598.      SouborZav²i(Soubor);
  599.   }
  600.   else if(Seznamy[Okno1].V∞b╪r==3) Konec=1;
  601. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  602. =SP---------------------------------------------------------------------------
  603.  
  604. ;-h---------------------------------------------------------------------------
  605. void Uºivatelsk∞ObjektPopUp( void )
  606. -s--Uºivatelsk∞ObjektPopUp                                                      ■   4  -2 -16   3
  607. Uºivatelsk∞ObjektPopUp
  608.          1!
  609. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  610. 1 int ParOkno,ParTlOk,ParTlStorno,TextPoleX,TextX,TextPoleY,TextY,
  611.       TextPoleText,TextText,TextPoleµí²ka,Textµí²ka,V∞b╪rViditelnost,TextViditelnost,
  612.       TextStyl,V∞b╪rStyl,TextSkupina,TextPoleSkupina,TextPoleV∞τka,TextV∞τka,
  613.       TextStav,V∞b╪rStav,udalost;
  614.   if (Seznamy[PopUpID].V∞b╪r==0 || (Objekty[PopUpID].Druh==0 && Seznamy[PopUpID].V∞b╪r==1)) {
  615.     if (Objekty[PopUpID].Druh==4 || Objekty[PopUpID].Druh==5 || Objekty[PopUpID].Druh==2 || Objekty[PopUpID].Druh==7) {
  616.       ParOkno=Okno(10,10,300,300,"Paremetry",NULL,NULL);
  617.       TextX=Text(10,30,ParOkno,"X",NULL,NULL);
  618.       TextPoleX=TextovéPole(90,27,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].X-Objekty[Okno1].X,-1),NULL,NULL);
  619.       TextY=Text(10,50,ParOkno,"Y",NULL,NULL);
  620.       TextPoleY=TextovéPole(90,47,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].Y-Objekty[Okno1].Y,-1),NULL,NULL);
  621.       TextText=Text(10,70,ParOkno,"Text",NULL,NULL);
  622.       TextPoleText=TextovéPole(90,67,200,0,ParOkno,Objekty[PopUpID].Text,NULL,NULL);
  623.       TextViditelnost=Text(10,90,ParOkno,"Viditelnost",NULL,NULL);
  624.       if (Viditelnost[PopUpID]==0) V∞b╪rViditelnost=V∞b╪r(110,87,180,ParOkno,"Viditeln∞",NULL,NULL);
  625.       else V∞b╪rViditelnost=V∞b╪r(110,87,180,ParOkno,"Neviditeln∞",NULL,NULL);
  626.         MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Viditeln∞");
  627.         MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Neviditeln∞");
  628.       if (Objekty[PopUpID].Druh==4 || Objekty[PopUpID].Druh==5) {
  629.         TextStav=Text(10,110,ParOkno,"Stav",NULL,NULL);
  630.         if (Objekty[PopUpID].Spec==0) V∞b╪rStav=V∞b╪r(90,107,200,ParOkno,"Neoznaƒeno",NULL,NULL);
  631.         else V∞b╪rStav=V∞b╪r(90,107,200,ParOkno,"Oznaƒeno",NULL,NULL);
  632.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStav,"Neoznaƒeno");
  633.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStav,"Oznaƒeno");
  634.         if (Objekty[PopUpID].Druh==5) {
  635.           TextSkupina=Text(10,130,ParOkno,"Skupina",NULL,NULL);
  636.           TextPoleSkupina=TextovéPole(90,127,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].Skupina,-1),NULL,NULL);
  637.         }
  638.       }
  639.       ParTlStorno=Tlaƒítko(10,265,70,25,0,ParOkno,"Storno",NULL,NULL);
  640.       ParTlOk=Tlaƒítko(220,265,70,25,0,ParOkno,"Ok",NULL,NULL);
  641.       while(udalost!=ParTlOk && udalost!=ParTlStorno) {
  642.         udalost=Události();
  643.       }
  644.       if (udalost==ParTlStorno) ZniƒOkno(ParOkno);
  645.       else if (udalost==ParTlOk) {
  646.         Objekty[PopUpID].X=StrNaL¼íslo(Objekty[TextPoleX].Text,0)+Objekty[Okno1].X;
  647.         Objekty[PopUpID].Y=StrNaL¼íslo(Objekty[TextPoleY].Text,0)+Objekty[Okno1].Y;
  648.         Objekty[PopUpID].Text=Objekty[TextPoleText].Text;
  649.         if (Objekty[PopUpID].Druh==2 || Objekty[PopUpID].Druh==7) Objekty[PopUpID].µí²ka=StrDélka(Objekty[TextPoleText].Text)*8;
  650.         if (Objekty[PopUpID].Druh==7) Objekty[PopUpID].µí²ka+=4;
  651.         if (Objekty[V∞b╪rViditelnost].Text=="Viditeln∞") Viditelnost[PopUpID]=0;
  652.         else Viditelnost[PopUpID]=1;
  653.         if (Objekty[PopUpID].Druh==4 || Objekty[PopUpID].Druh==5) {
  654.            Objekty[PopUpID].µí²ka=17+StrDélka(Objekty[TextPoleText].Text)*8;
  655.           if (Objekty[V∞b╪rStav].Text=="Neoznaƒeno") Objekty[PopUpID].Spec=0;
  656.           else Objekty[PopUpID].Spec=1;
  657.           if (Objekty[PopUpID].Druh==5) StrNaL¼íslo(Objekty[TextPoleSkupina].Text,0);
  658.         }
  659.         ZniƒOkno(ParOkno);
  660.       }
  661.     }
  662.     else if(Objekty[PopUpID].Druh==3 || Objekty[PopUpID].Druh==6) {
  663.       ParOkno=Okno(10,10,300,300,"Paremetry",NULL,NULL);
  664.       TextX=Text(10,30,ParOkno,"X",NULL,NULL);
  665.       TextPoleX=TextovéPole(90,27,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].X-Objekty[Okno1].X,-1),NULL,NULL);
  666.       TextY=Text(10,50,ParOkno,"Y",NULL,NULL);
  667.       TextPoleY=TextovéPole(90,47,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].Y-Objekty[Okno1].Y,-1),NULL,NULL);
  668.       Textµí²ka=Text(10,70,ParOkno,"µí²ka",NULL,NULL);
  669.       TextPoleµí²ka=TextovéPole(90,67,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].µí²ka,-1),NULL,NULL);
  670.       TextText=Text(10,90,ParOkno,"Text",NULL,NULL);
  671.       if (Objekty[PopUpID].Druh==3) TextPoleText=TextovéPole(90,87,200,Objekty[PopUpID].Styl,ParOkno,Objekty[PopUpID].Text,NULL,NULL);
  672.       else TextPoleText=TextovéPole(90,87,200,0,ParOkno,Objekty[PopUpID].Text,NULL,NULL);
  673.       TextViditelnost=Text(10,110,ParOkno,"Viditelnost",NULL,NULL);
  674.       if (Viditelnost[PopUpID]==0) V∞b╪rViditelnost=V∞b╪r(110,107,180,ParOkno,"Viditeln∞",NULL,NULL);
  675.       else V∞b╪rViditelnost=V∞b╪r(110,107,180,ParOkno,"Neviditeln∞",NULL,NULL);
  676.         MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Viditeln∞");
  677.         MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Neviditeln∞");
  678.       if (Objekty[PopUpID].Druh==3) {
  679.         string Styl;
  680.         if (Objekty[PopUpID].Styl==0) Styl="ⁿet╪zec";
  681.         else if (Objekty[PopUpID].Styl==1) Styl="Celé ƒíslo";
  682.         else if (Objekty[PopUpID].Styl==2) Styl="Des. ƒíslo";
  683.         TextStyl=Text(10,130,ParOkno,"Styl",NULL,NULL);
  684.         V∞b╪rStyl=V∞b╪r(110,127,180,ParOkno,Styl,NULL,NULL);
  685.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStyl,"ⁿet╪zec");
  686.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStyl,"Celé ƒíslo");
  687.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStyl,"Des. ƒíslo");
  688.       }
  689.       ParTlStorno=Tlaƒítko(10,265,70,25,0,ParOkno,"Storno",NULL,NULL);
  690.       ParTlOk=Tlaƒítko(220,265,70,25,0,ParOkno,"Ok",NULL,NULL);
  691.       while(udalost!=ParTlOk && udalost!=ParTlStorno) {
  692.         udalost=Události();
  693.       }
  694.       if (udalost==ParTlStorno) ZniƒOkno(ParOkno);
  695.       else if (udalost==ParTlOk) {
  696.         Objekty[PopUpID].X=StrNaL¼íslo(Objekty[TextPoleX].Text,0)+Objekty[Okno1].X;
  697.         Objekty[PopUpID].Y=StrNaL¼íslo(Objekty[TextPoleY].Text,0)+Objekty[Okno1].Y;
  698.         Objekty[PopUpID].µí²ka=StrNaL¼íslo(Objekty[TextPoleµí²ka].Text,0);
  699.         Objekty[PopUpID].Text=Objekty[TextPoleText].Text;
  700.         if (Objekty[V∞b╪rViditelnost].Text=="Viditeln∞") Viditelnost[PopUpID]=0;
  701.         else Viditelnost[PopUpID]=1;
  702.         if (Objekty[PopUpID].Druh==3) {
  703.           if(Objekty[V∞b╪rStyl].Text=="ⁿet╪zec") Objekty[PopUpID].Styl=0;
  704.           else if(Objekty[V∞b╪rStyl].Text=="Celé ƒíslo") Objekty[PopUpID].Styl=1;
  705.           else if(Objekty[V∞b╪rStyl].Text=="Des. ƒíslo") Objekty[PopUpID].Styl=2;
  706.         }
  707.         ZniƒOkno(ParOkno);
  708.       }
  709.     }
  710.     else if(Objekty[PopUpID].Druh==0 || Objekty[PopUpID].Druh==1) {
  711.       ParOkno=Okno(10,10,300,300,"Paremetry",NULL,NULL);
  712.       TextX=Text(10,30,ParOkno,"X",NULL,NULL);
  713.       TextY=Text(10,50,ParOkno,"Y",NULL,NULL);
  714.       if(Objekty[PopUpID].Druh==0) {
  715.         TextPoleX=TextovéPole(90,27,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].X,-1),NULL,NULL);
  716.         TextPoleY=TextovéPole(90,47,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].Y,-1),NULL,NULL);
  717.       }
  718.       else {
  719.         TextPoleX=TextovéPole(90,27,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].X-Objekty[Okno1].X,-1),NULL,NULL);
  720.         TextPoleY=TextovéPole(90,47,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].Y-Objekty[Okno1].Y,-1),NULL,NULL);
  721.       }
  722.       Textµí²ka=Text(10,70,ParOkno,"µí²ka",NULL,NULL);
  723.       TextPoleµí²ka=TextovéPole(90,67,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].µí²ka,-1),NULL,NULL);
  724.       TextV∞τka=Text(10,90,ParOkno,"V∞τka",NULL,NULL);
  725.       TextPoleV∞τka=TextovéPole(90,87,200,1,ParOkno,StrL¼íslo(Objekty[PopUpID].V∞τka,-1),NULL,NULL);
  726.       TextText=Text(10,110,ParOkno,"Text",NULL,NULL);
  727.       TextPoleText=TextovéPole(90,107,200,0,ParOkno,Objekty[PopUpID].Text,NULL,NULL);
  728.       if(Objekty[PopUpID].Druh==1) {
  729.         TextViditelnost=Text(10,130,ParOkno,"Viditelnost",NULL,NULL);
  730.         if (Viditelnost[PopUpID]==0) V∞b╪rViditelnost=V∞b╪r(110,127,180,ParOkno,"Viditeln∞",NULL,NULL);
  731.         else V∞b╪rViditelnost=V∞b╪r(110,127,180,ParOkno,"Neviditeln∞",NULL,NULL);
  732.           MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Viditeln∞");
  733.           MenuV∞b╪rP²idejPoloºku(V∞b╪rViditelnost,"Neviditeln∞");
  734.         TextStyl=Text(10,150,ParOkno,"Styl",NULL,NULL);
  735.         if (Objekty[PopUpID].Styl==0) V∞b╪rStyl=V∞b╪r(110,147,180,ParOkno,"Normální",NULL,NULL);
  736.         else if (Objekty[PopUpID].Styl==1) V∞b╪rStyl=V∞b╪r(110,147,180,ParOkno,"Ploch∞",NULL,NULL);
  737.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStyl,"Normální");
  738.           MenuV∞b╪rP²idejPoloºku(V∞b╪rStyl,"Ploch∞");
  739.       }
  740.       ParTlStorno=Tlaƒítko(10,265,70,25,0,ParOkno,"Storno",NULL,NULL);
  741.       ParTlOk=Tlaƒítko(220,265,70,25,0,ParOkno,"Ok",NULL,NULL);
  742.       while(udalost!=ParTlOk && udalost!=ParTlStorno) {
  743.         udalost=Události();
  744.       }
  745.       if (udalost==ParTlStorno) ZniƒOkno(ParOkno);
  746.       else if (udalost==ParTlOk) {
  747.         if(Objekty[PopUpID].Druh==0) {
  748.           P²esuσOkno(StrNaL¼íslo(Objekty[TextPoleX].Text,0),StrNaL¼íslo(Objekty[TextPoleY].Text,0),PopUpID);
  749.         }
  750.         else {
  751.           Objekty[PopUpID].X=StrNaL¼íslo(Objekty[TextPoleX].Text,0)+Objekty[Okno1].X;
  752.           Objekty[PopUpID].Y=StrNaL¼íslo(Objekty[TextPoleY].Text,0)+Objekty[Okno1].Y;
  753.         }
  754.         Objekty[PopUpID].µí²ka=StrNaL¼íslo(Objekty[TextPoleµí²ka].Text,0);
  755.         Objekty[PopUpID].V∞τka=StrNaL¼íslo(Objekty[TextPoleV∞τka].Text,0);
  756.         Objekty[PopUpID].Text=Objekty[TextPoleText].Text;
  757.         if(Objekty[PopUpID].Druh==1) {
  758.           if(Objekty[V∞b╪rStyl].Text=="Normální") Objekty[PopUpID].Styl=0;
  759.           else if(Objekty[V∞b╪rStyl].Text=="Ploch∞") Objekty[PopUpID].Styl=1;
  760.         }
  761.         if (Objekty[V∞b╪rViditelnost].Text=="Viditeln∞") Viditelnost[PopUpID]=0;
  762.         else Viditelnost[PopUpID]=1;
  763.         ZniƒOkno(ParOkno);
  764.       }
  765.     }
  766.   }
  767.   else if (Seznamy[PopUpID].V∞b╪r==1 && Objekty[PopUpID].Druh!=0) {
  768.     Objekty[PopUpID].Viditeln∞=0;
  769.   }
  770.  
  771. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  772. =SP---------------------------------------------------------------------------
  773.  
  774. ;-h---------------------------------------------------------------------------
  775. void ZniƒOkno( int ID )
  776. -s--ZniƒOkno                                                                    ■   4  -2 -27   3
  777. ZniƒOkno
  778.   1!
  779. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  780. 1 int tl=StartTlaƒítko,tlvoknu=0,
  781.       text=StartText,textvoknu=0,
  782.       textpole=StartTextovéPole,textpolevoknu=0,
  783.       vyp=StartVypínaƒ,vypvoknu=0,
  784.       pre=StartP²epínaƒ,prevoknu=0,
  785.       vyb=StartV∞b╪r,vybvoknu=0,
  786.       menu=StartMenu,menuvoknu=0;
  787.  
  788.    while(tl!=IDTlaƒítko) {
  789.      if(Objekty[tl].Okno==ID) ++tlvoknu;
  790.      ++tl;
  791.    }
  792.    IDTlaƒítko-=tlvoknu;
  793.  
  794.    while(textpole!=IDTextovéPole) {
  795.    if(Objekty[textpole].Okno==ID) ++textpolevoknu;
  796.      ++textpole;
  797.    }
  798.    IDTextovéPole-=textpolevoknu;
  799.  
  800.    while(text!=IDText) {
  801.      if(Objekty[text].Okno==ID) ++textvoknu;
  802.      ++text;
  803.    }
  804.    IDText-=textvoknu;
  805.  
  806.    while(vyp!=IDVypínaƒ) {
  807.      if(Objekty[vyp].Okno==ID) ++vypvoknu;
  808.      ++vyp;
  809.    }
  810.    IDVypínaƒ-=vypvoknu;
  811.  
  812.   while(pre!=IDP²epínaƒ) {
  813.      if(Objekty[pre].Okno==ID) ++prevoknu;
  814.      ++pre;
  815.    }
  816.    IDP²epínaƒ-=prevoknu;
  817.  
  818.    while(vyb!=IDV∞b╪r) {
  819.      if(Objekty[vyb].Okno==ID) ++vybvoknu;
  820.      ++vyb;
  821.    }
  822.    IDV∞b╪r-=vybvoknu;
  823.  
  824.    while(menu!=IDMenu) {
  825.      if(Objekty[menu].Okno==ID) ++menuvoknu;
  826.      ++menu;
  827.    }
  828.    IDMenu-=menuvoknu;
  829.  
  830.    --IDOkno;
  831.    Obnovit=1;
  832. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  833. =SP---------------------------------------------------------------------------
  834.  
  835. ;-h---------------------------------------------------------------------------
  836. void P²esuσOkno( int x,y,ID )
  837. -s--P²esuσOkno                                                                  ■   4  -2 -26   3
  838. P²esuσOkno
  839.    1!
  840. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  841. 1 int tl=StartTlaƒítko,
  842.       text=StartText,
  843.       textpole=StartTextovéPole,
  844.       vyp=StartVypínaƒ,
  845.       pre=StartP²epínaƒ,
  846.       vyb=StartV∞b╪r,
  847.       menu=StartMenu;
  848.  
  849.   while(tl!=IDTlaƒítko) {
  850.     if(Objekty[tl].Okno==ID) {
  851.       Objekty[tl].X=x+(Objekty[tl].X-Objekty[ID].X);
  852.       Objekty[tl].Y=y+(Objekty[tl].Y-Objekty[ID].Y);
  853.       }
  854.     ++tl;
  855.   }
  856.  
  857.   while(text!=IDText) {
  858.     if(Objekty[text].Okno==ID) {
  859.       Objekty[text].X=x+(Objekty[text].X-Objekty[ID].X);
  860.       Objekty[text].Y=y+(Objekty[text].Y-Objekty[ID].Y);
  861.       }
  862.     ++text;
  863.   }
  864.  
  865.   while(textpole!=IDTextovéPole) {
  866.     if(Objekty[textpole].Okno==ID) {
  867.       Objekty[textpole].X=x+(Objekty[textpole].X-Objekty[ID].X);
  868.       Objekty[textpole].Y=y+(Objekty[textpole].Y-Objekty[ID].Y);
  869.       }
  870.     ++textpole;
  871.   }
  872.  
  873.   while(vyp!=IDVypínaƒ) {
  874.     if(Objekty[vyp].Okno==ID) {
  875.       Objekty[vyp].X=x+(Objekty[vyp].X-Objekty[ID].X);
  876.       Objekty[vyp].Y=y+(Objekty[vyp].Y-Objekty[ID].Y);
  877.       }
  878.     ++vyp;
  879.   }
  880.  
  881.   while(pre!=IDP²epínaƒ) {
  882.     if(Objekty[pre].Okno==ID) {
  883.       Objekty[pre].X=x+(Objekty[pre].X-Objekty[ID].X);
  884.       Objekty[pre].Y=y+(Objekty[pre].Y-Objekty[ID].Y);
  885.       }
  886.     ++pre;
  887.   }
  888.  
  889.   while(vyb!=IDV∞b╪r) {
  890.     if(Objekty[vyb].Okno==ID) {
  891.       Objekty[vyb].X=x+(Objekty[vyb].X-Objekty[ID].X);
  892.       Objekty[vyb].Y=y+(Objekty[vyb].Y-Objekty[ID].Y);
  893.       }
  894.     ++vyb;
  895.   }
  896.  
  897.   while(menu!=IDMenu) {
  898.     if(Objekty[menu].Okno==ID) {
  899.       Objekty[menu].X=x+(Objekty[menu].X-Objekty[ID].X);
  900.       Objekty[menu].Y=y+(Objekty[menu].Y-Objekty[ID].Y);
  901.       }
  902.     ++menu;
  903.   }
  904.  
  905.   Objekty[ID].X=x;
  906.   Objekty[ID].Y=y;
  907.   Obnovit=1;
  908. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  909. =SP---------------------------------------------------------------------------
  910.  
  911. ;-h---------------------------------------------------------------------------
  912. void Obnov( void )
  913. -s--Obnov                                                                       ■   4  -2 -29   3
  914. Obnov
  915.  1!
  916. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  917. 1 int okno=0,tl,text,textpole,vyp,pre,vyb,menu;
  918.   MyτSchovejKurzor();
  919.   GrNastavBarvy(0x66);
  920.   GrSmaºOkno();
  921.   MyτZobrazKurzor();
  922.   while(okno!=IDOkno) {
  923.     _KresliOkno(okno,0);
  924.     tl=StartTlaƒítko;
  925.     while(tl!=IDTlaƒítko) {
  926.       if(Objekty[tl].Okno==okno)
  927.         _KresliTlaƒítko(tl,0);
  928.       ++tl;
  929.     }
  930.     text=StartText;
  931.     while(text!=IDText) {
  932.       if(Objekty[text].Okno==okno)
  933.         _KresliText(text);
  934.       ++text;
  935.     }
  936.     textpole=StartTextovéPole;
  937.     while(textpole!=IDTextovéPole) {
  938.       if(Objekty[textpole].Okno==okno)
  939.         _KresliTextovéPole(textpole);
  940.       ++textpole;
  941.     }
  942.     vyp=StartVypínaƒ;
  943.     while(vyp!=IDVypínaƒ) {
  944.       if(Objekty[vyp].Okno==okno)
  945.         _KresliVypínaƒ(vyp);
  946.       ++vyp;
  947.     }
  948.     pre=StartP²epínaƒ;
  949.     while(pre!=IDP²epínaƒ) {
  950.       if(Objekty[pre].Okno==okno)
  951.         _KresliP²epínaƒ(pre);
  952.       ++pre;
  953.     }
  954.     vyb=StartV∞b╪r;
  955.     while(vyb!=IDV∞b╪r) {
  956.       if(Objekty[vyb].Okno==okno)
  957.         _KresliV∞b╪r(vyb,0);
  958.       ++vyb;
  959.     }
  960.     menu=StartMenu;
  961.     while(menu!=IDMenu) {
  962.       if(Objekty[menu].Okno==okno)
  963.         _KresliMenu(menu,0);
  964.       ++menu;
  965.     }
  966.     ++okno;
  967.   }
  968. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  969. =SP---------------------------------------------------------------------------
  970.  
  971. ;-h---------------------------------------------------------------------------
  972. void P²idejPoloºku( int ID,string text )
  973. -s--P²idejPoloºku                                                               ■   4  -2 -25   3
  974. P²idejPoloºku
  975.      1!
  976. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  977. 1
  978.   Seznamy[ID].Text[Seznamy[ID].Poƒet]=text;
  979.   ++Seznamy[ID].Poƒet;
  980. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  981. =SP---------------------------------------------------------------------------
  982.  
  983. ;-h---------------------------------------------------------------------------
  984. void MenuV∞b╪rP²idejPoloºku( int ID, string text )
  985. -s--MenuV∞b╪rP²idejPoloºku                                                      ■   4  -2 -20   3
  986. MenuV∞b╪rP²idejPoloºku
  987.          1!
  988. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  989. 1 MenuVybSeznamy[ID-StartP²epínaƒ].Text[MenuVybSeznamy[ID].Poƒet]=text;
  990.   ++MenuVybSeznamy[ID].Poƒet;
  991. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  992. =SP---------------------------------------------------------------------------
  993.  
  994. ;-h---------------------------------------------------------------------------
  995. int Spus£PopUpMenu( int x2,y2,ID )
  996. -s--Spus£PopUpMenu                                                              ■   4  -2 -24   3
  997. Spus£PopUpMenu
  998.      1!
  999. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1000. 1 int a=0,x,y,y1,sirka;
  1001.   if(Seznamy[ID].µí²ka==0) sirka=100;
  1002.   else sirka=Seznamy[ID].µí²ka;
  1003.   MyτSchovejKurzor();
  1004.   GrNastavBarvy(0x7f);
  1005.   GrKresliVypln╪n∞Obdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
  1006.   GrKresliObdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
  1007.   GrNastavBarvy(0x88);
  1008.   GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2+sirka,y2);
  1009.   GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2,y2+Seznamy[ID].Poƒet*12+4);
  1010.   GrNastavBarvy(0x00);
  1011.   while(a!=Seznamy[ID].Poƒet) {
  1012.     GrNastavPozici(x2+2,y2+2+a*12);
  1013.     GrPiτⁿet╪zec(Seznamy[ID].Text[a]);
  1014.     ++a;
  1015.   }
  1016.   MyτZobrazKurzor();
  1017.   MyτNastavPozici(x2+3,y2+3);
  1018.   MyτNastavRozsah(x2+3,y2+3,x2+97,y2+Seznamy[ID].Poƒet*12+1);
  1019.   MyτVyprázdniFrontuUdálostí();
  1020.   while(gMyτUdálost.Typ!=MyτUdálostPravéTlNahoru){
  1021.     Myτ¼tiUdálost(gMyτUdálost);
  1022.     y=(gMyτUdálost.Y-y2+2)/12;
  1023.     if(y!=y1) {
  1024.       MyτSchovejKurzor();
  1025.       GrNastavBarvy(0x00);
  1026.       GrNastavPozici(x2+2,y2+2+y1*12);
  1027.       GrPiτⁿet╪zec(Seznamy[ID].Text[y1]);
  1028.       GrNastavBarvy(0x04);
  1029.       GrNastavPozici(x2+2,y2+2+y*12);
  1030.       GrPiτⁿet╪zec(Seznamy[ID].Text[y]);
  1031.       MyτZobrazKurzor();
  1032.       Myτ¼tiUdálost(gMyτUdálost);
  1033.       y1=(gMyτUdálost.Y-y2+2)/12;
  1034.     }
  1035.   }
  1036.   Seznamy[ID].V∞b╪r=y1;
  1037.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  1038.   Obnovit=1;
  1039.   return y;
  1040. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1041. =SP---------------------------------------------------------------------------
  1042.  
  1043. ;-h---------------------------------------------------------------------------
  1044. void _KresliMenu( int ID,z )
  1045. -s--_KresliMenu                                                                 ■   3  -2 -27   3
  1046. KresliMenu
  1047.     /1
  1048.     │
  1049.  123!
  1050. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1051. 1 MyτSchovejKurzor();
  1052.  
  1053.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1054.   int x1,x2,y1,y2;
  1055.   string text;
  1056.   x1=Objekty[ID].X;
  1057.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1058.   y1=Objekty[ID].Y;
  1059.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1060.   text=Objekty[ID].Text;
  1061.  
  1062. 2 ;kreslení menu
  1063.   if(z==0) {
  1064.     GrNastavBarvy(0x77);
  1065.     GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
  1066.     GrNastavBarvy(0x00);
  1067.     GrNastavPozici(x1+2,y1+2);
  1068.     GrPiτⁿet╪zec(text);
  1069.   }
  1070.   else if (z==1) {
  1071.     GrNastavBarvy(0x77);
  1072.     GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
  1073.     GrNastavBarvy(0x88);
  1074.     GrKresliLinku(x1,y1,x1,y2);
  1075.     GrKresliLinku(x1,y1,x2,y1);
  1076.     GrNastavBarvy(0xff);
  1077.     GrKresliLinku(x2,y2,x2,y1-1);
  1078.     GrKresliLinku(x2,y2,x1-1,y2);
  1079.     GrNastavBarvy(0x00);
  1080.     GrNastavPozici(x1+3,y1+3);
  1081.     GrPiτⁿet╪zec(text);
  1082.   }
  1083.  
  1084. 3 MyτZobrazKurzor();
  1085. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1086. /1 ; Objekt je viditeln∞
  1087.    Objekty[ID].Viditeln∞==1
  1088. =SP---------------------------------------------------------------------------
  1089.  
  1090. ;-h---------------------------------------------------------------------------
  1091. int Spus£Menu( int ID )
  1092. -s--Spus£Menu                                                                   ■   4  -2 -27   3
  1093. Spus£Menu
  1094.    1!
  1095. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1096. 1 int a=0,x,y,x1,y1,sirka;
  1097.   if(MenuVybSeznamy[ID].µí²ka==0) sirka=100;
  1098.   else sirka=MenuVybSeznamy[ID].µí²ka;
  1099.   MyτSchovejKurzor();
  1100.   GrNastavBarvy(0x7f);
  1101.   GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
  1102.                            Objekty[ID].Y+Objekty[ID].V∞τka,
  1103.                            Objekty[ID].X+sirka,
  1104.                            Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  1105.   GrKresliObdélník(Objekty[ID].X,
  1106.                    Objekty[ID].Y+Objekty[ID].V∞τka,
  1107.                    Objekty[ID].X+sirka,
  1108.                    Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  1109.   GrNastavBarvy(0x88);
  1110.   GrKresliLinku(Objekty[ID].X+sirka,
  1111.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
  1112.                 Objekty[ID].X+sirka,
  1113.                 Objekty[ID].Y+Objekty[ID].V∞τka);
  1114.   GrKresliLinku(Objekty[ID].X+sirka,
  1115.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
  1116.                 Objekty[ID].X,
  1117.                 Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  1118.   GrNastavBarvy(0x00);
  1119.   while(a!=MenuVybSeznamy[ID].Poƒet) {
  1120.     GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
  1121.     GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
  1122.     ++a;
  1123.   }
  1124.   MyτZobrazKurzor();
  1125.   MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
  1126.   MyτNastavRozsah(Objekty[ID].X+3,
  1127.                   Objekty[ID].Y+Objekty[ID].V∞τka+3,
  1128.                   Objekty[ID].X+sirka-3,
  1129.                   Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
  1130.   MyτVyprázdniFrontuUdálostí();
  1131.   while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
  1132.     Myτ¼tiUdálost(gMyτUdálost);
  1133.     y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  1134.     if(y!=y1) {
  1135.       MyτSchovejKurzor();
  1136.       GrNastavBarvy(0x00);
  1137.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
  1138.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
  1139.       GrNastavBarvy(0x04);
  1140.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
  1141.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
  1142.       MyτZobrazKurzor();
  1143.       Myτ¼tiUdálost(gMyτUdálost);
  1144.       y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  1145.     }
  1146.   }
  1147.   MenuVybSeznamy[ID].V∞b╪r=y1;
  1148.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  1149.   Obnovit=1;
  1150.   return y;
  1151. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1152. =SP---------------------------------------------------------------------------
  1153.  
  1154. ;-h---------------------------------------------------------------------------
  1155. int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
  1156. -s--Menu                                                                        ■   4  -2 -29   3
  1157. Menu
  1158. 1!
  1159. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1160. 1 ;registrace a kreslení menu
  1161.   Objekty[IDMenu].X=x+Objekty[okno].X;
  1162.   Objekty[IDMenu].Y=y+Objekty[okno].Y;
  1163.   Objekty[IDMenu].µí²ka=StrDélka(text)*8+4;
  1164.   Objekty[IDMenu].V∞τka=14;
  1165.   Objekty[IDMenu].Okno=okno;
  1166.   Objekty[IDMenu].ID=IDMenu;
  1167.   Objekty[IDMenu].Text=text;
  1168.   Objekty[IDMenu].Druh=7;
  1169.   Objekty[IDMenu].Styl=0;
  1170.   Objekty[IDMenu].Viditeln∞=1;
  1171.   if(událost==NULL) Objekty[IDMenu].P²i²azenaUdálost=0;
  1172.   else {
  1173.     Objekty[IDMenu].Zm╪na=událost;
  1174.     Objekty[IDMenu].P²i²azenaUdálost=1;
  1175.   }
  1176.   Objekty[IDMenu].PopUp=popup;
  1177.   Seznamy[IDMenu].Poƒet=0;
  1178.   MenuVybSeznamy[IDMenu].Poƒet=0;
  1179.   _KresliMenu(IDMenu,0);
  1180.   ++IDMenu;
  1181.   return IDMenu-1;
  1182. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1183. =SP---------------------------------------------------------------------------
  1184.  
  1185. ;-h---------------------------------------------------------------------------
  1186. void _KresliV∞b╪r( int ID,z )
  1187. -s--_KresliV∞b╪r                                                                ■   6  -2 -25   3
  1188.  KresliV∞b╪r
  1189.       /1
  1190.       │
  1191. 123456!
  1192. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1193. 1 MyτSchovejKurzor();
  1194.  
  1195.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1196.   int x1,x2,y1,y2;
  1197.   string text;
  1198.   x1=Objekty[ID].X;
  1199.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1200.   y1=Objekty[ID].Y;
  1201.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1202.   text=Objekty[ID].Text;
  1203.  
  1204. 2 ; kreslení v∞b╪ru
  1205.   GrNastavBarvy(0x88);
  1206.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1207.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1208.   GrNastavBarvy(0x00);
  1209.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1210.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1211.   GrNastavBarvy(0xff);
  1212.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1213.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1214.   GrNastavBarvy(0x77);
  1215.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1216.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1217. 3 ; mazání obsahu
  1218.   GrNastavBarvy(0xFF);
  1219.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1220.  
  1221. 4 ; vypsání textu
  1222.   GrNastavPozici(x1+3,y1+3);
  1223.   GrNastavBarvy(0x00);
  1224.   GrPiτⁿet╪zec(text);
  1225.  
  1226. 5 ; kreslení tlaƒítka
  1227.   x1=x2-13;
  1228.   y1=y1+2;
  1229.   y2=y2-2;
  1230.   x2=x2-2;
  1231.   GrNastavBarvy(0x70);
  1232.   GrNastavText(GrTextSPozadím);
  1233.   GrNastavPozici(x1+1,y1+1);
  1234.   GrPiτZnak(25);
  1235.   GrNastavText(GrTextBezPozadí);
  1236.   if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  1237.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1238.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1239.   if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
  1240.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1241.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1242.   if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  1243.   GrKresliLinku(x1+2,y2-2,x2-1,y2-2);
  1244.   GrKresliLinku(x2-2,y1+2,x2-2,y2-1);
  1245.   if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
  1246.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1247.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1248.  
  1249.  
  1250.  
  1251. 6 MyτZobrazKurzor();
  1252. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1253. /1 ; Objekt je viditeln∞
  1254.    Objekty[ID].Viditeln∞==1
  1255. =SP---------------------------------------------------------------------------
  1256.  
  1257. ;-h---------------------------------------------------------------------------
  1258. int Spus£V∞b╪r( int ID )
  1259. -s--Spus£V∞b╪r                                                                  ■   4  -2 -26   3
  1260. Spus£V∞b╪r
  1261.    1!
  1262. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1263. 1 int a=0,x,y,x1,y1,sirka;
  1264.   if(MenuVybSeznamy[ID-StartP²epínaƒ].µí²ka==0) sirka=Objekty[ID].µí²ka;
  1265.   else sirka=MenuVybSeznamy[ID].µí²ka;
  1266.   MyτSchovejKurzor();
  1267.   GrNastavBarvy(0xf0);
  1268.   GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
  1269.                            Objekty[ID].Y+Objekty[ID].V∞τka,
  1270.                            Objekty[ID].X+sirka,
  1271.                            Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  1272.   GrKresliObdélník(Objekty[ID].X,
  1273.                    Objekty[ID].Y+Objekty[ID].V∞τka,
  1274.                    Objekty[ID].X+sirka,
  1275.                    Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
  1276.   while(a!=MenuVybSeznamy[ID].Poƒet) {
  1277.     GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
  1278.     GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
  1279.     ++a;
  1280.   }
  1281.   MyτZobrazKurzor();
  1282.   MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
  1283.   MyτNastavRozsah(Objekty[ID].X+3,
  1284.                   Objekty[ID].Y+Objekty[ID].V∞τka+3,
  1285.                   Objekty[ID].X+sirka-3,
  1286.                   Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
  1287.   MyτVyprázdniFrontuUdálostí();
  1288.   while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
  1289.     Myτ¼tiUdálost(gMyτUdálost);
  1290.     y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  1291.     if(y!=y1) {
  1292.       MyτSchovejKurzor();
  1293.       GrNastavBarvy(0x00);
  1294.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
  1295.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
  1296.       GrNastavBarvy(0x04);
  1297.       GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
  1298.       GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
  1299.       MyτZobrazKurzor();
  1300.       Myτ¼tiUdálost(gMyτUdálost);
  1301.       y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
  1302.     }
  1303.   }
  1304.   Objekty[ID].Text=MenuVybSeznamy[ID].Text[y1];
  1305.   MenuVybSeznamy[ID].V∞b╪r=y1;
  1306.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  1307.   Obnovit=1;
  1308.   return y;
  1309. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1310. =SP---------------------------------------------------------------------------
  1311.  
  1312. ;-h---------------------------------------------------------------------------
  1313. int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
  1314. -s--V∞b╪r                                                                       ■   4  -2 -29   3
  1315. V∞b╪r
  1316.  1!
  1317. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1318. 1 ;registrace a kreslení v∞b╪ru
  1319.   Objekty[IDV∞b╪r].X=x+Objekty[okno].X;
  1320.   Objekty[IDV∞b╪r].Y=y+Objekty[okno].Y;
  1321.   Objekty[IDV∞b╪r].µí²ka=τí²ka;
  1322.   Objekty[IDV∞b╪r].V∞τka=16;
  1323.   Objekty[IDV∞b╪r].Okno=okno;
  1324.   Objekty[IDV∞b╪r].ID=IDV∞b╪r;
  1325.   Objekty[IDV∞b╪r].Text=text;
  1326.   Objekty[IDV∞b╪r].Druh=6;
  1327.   Objekty[IDV∞b╪r].Styl=0;
  1328.   Objekty[IDV∞b╪r].Viditeln∞=1;
  1329.   if(událost==NULL) Objekty[IDV∞b╪r].P²i²azenaUdálost=0;
  1330.   else {
  1331.     Objekty[IDV∞b╪r].Zm╪na=událost;
  1332.     Objekty[IDV∞b╪r].P²i²azenaUdálost=1;
  1333.   }
  1334.   Objekty[IDV∞b╪r].PopUp=popup;
  1335.   Seznamy[IDV∞b╪r].Poƒet=0;
  1336.   MenuVybSeznamy[IDV∞b╪r].Poƒet=0;
  1337.   _KresliV∞b╪r(IDV∞b╪r,0);
  1338.   ++IDV∞b╪r;
  1339.   return IDV∞b╪r-1;
  1340. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1341. =SP---------------------------------------------------------------------------
  1342.  
  1343. ;-h---------------------------------------------------------------------------
  1344. void _KresliP²epínaƒ( int ID )
  1345. -s--_KresliP²epínaƒ                                                             ■   3  -2 -25   3
  1346. KresliP²epínaƒ
  1347.       /1
  1348.       │
  1349. 123456!
  1350. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1351. 1 MyτSchovejKurzor();
  1352.  
  1353.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1354.   int x1,x2,y1,y2;
  1355.   string text;
  1356.   x1=Objekty[ID].X;
  1357.   x2=Objekty[ID].X+14;
  1358.   y1=Objekty[ID].Y;
  1359.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1360.   text=Objekty[ID].Text;
  1361.  
  1362. 2 ; kreslení vypínaƒe
  1363.   GrNastavBarvy(0x88);
  1364.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1365.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1366.   GrNastavBarvy(0x00);
  1367.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1368.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1369.   GrNastavBarvy(0xff);
  1370.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1371.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1372.   GrNastavBarvy(0x77);
  1373.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1374.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1375. 3 ; mazání obsahu
  1376.   GrNastavBarvy(0xFF);
  1377.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1378.  
  1379. 4 ; vypsání textu
  1380.   GrNastavPozici(x1+17,y1+2);
  1381.   GrNastavBarvy(0x00);
  1382.   GrPiτⁿet╪zec(text);
  1383.  
  1384. 5 ; kreslení ƒtvereƒku
  1385.   if(Objekty[ID].Spec==1) {
  1386.     GrNastavBarvy(0x00);
  1387.     GrKresliVypln╪n∞Obdélník(x1+5,y1+5,x1+9,y1+9);
  1388.   }
  1389.  
  1390. 6 MyτZobrazKurzor();
  1391. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1392. /1 ; Objekt je viditeln∞
  1393.    Objekty[ID].Viditeln∞==1
  1394.  
  1395. =SP---------------------------------------------------------------------------
  1396.  
  1397. ;-h---------------------------------------------------------------------------
  1398. int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
  1399. -s--P²epínaƒ                                                                    ■   4  -2 -27   3
  1400. P²epínaƒ
  1401.   1!
  1402. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1403. 1 ;registrace a kreslení p²epínaƒe
  1404.   Objekty[IDP²epínaƒ].X=x+Objekty[okno].X;
  1405.   Objekty[IDP²epínaƒ].Y=y+Objekty[okno].Y;
  1406.   Objekty[IDP²epínaƒ].µí²ka=17+StrDélka(text)*8;
  1407.   Objekty[IDP²epínaƒ].V∞τka=14;
  1408.   Objekty[IDP²epínaƒ].Okno=okno;
  1409.   Objekty[IDP²epínaƒ].ID=IDP²epínaƒ;
  1410.   Objekty[IDP²epínaƒ].Text=text;
  1411.   Objekty[IDP²epínaƒ].Druh=5;
  1412.   Objekty[IDP²epínaƒ].Styl=0;
  1413.   Objekty[IDP²epínaƒ].Viditeln∞=1;
  1414.   Objekty[IDP²epínaƒ].Spec=stav;
  1415.   Objekty[IDP²epínaƒ].Skupina=skupina;
  1416.   if(událost==NULL) Objekty[IDP²epínaƒ].P²i²azenaUdálost=0;
  1417.   else {
  1418.     Objekty[IDP²epínaƒ].Zm╪na=událost;
  1419.     Objekty[IDP²epínaƒ].P²i²azenaUdálost=1;
  1420.   }
  1421.   Seznamy[IDP²epínaƒ].Poƒet=0;
  1422.   Objekty[IDP²epínaƒ].PopUp=popup;
  1423.   _KresliP²epínaƒ(IDP²epínaƒ);
  1424.   ++IDP²epínaƒ;
  1425.   return IDP²epínaƒ-1;
  1426. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1427. =SP---------------------------------------------------------------------------
  1428.  
  1429. ;-h---------------------------------------------------------------------------
  1430. void _KresliVypínaƒ( int ID )
  1431. -s--_KresliVypínaƒ                                                              ■   3  -2 -24   3
  1432. KresliVypínaƒ
  1433.       /1
  1434.       │
  1435. 123456!
  1436. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1437. 1 MyτSchovejKurzor();
  1438.  
  1439.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1440.   int x1,x2,y1,y2;
  1441.   string text;
  1442.   x1=Objekty[ID].X;
  1443.   x2=Objekty[ID].X+14;
  1444.   y1=Objekty[ID].Y;
  1445.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1446.   text=Objekty[ID].Text;
  1447.  
  1448. 2 ; kreslení vypínaƒe
  1449.   GrNastavBarvy(0x88);
  1450.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1451.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1452.   GrNastavBarvy(0x00);
  1453.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1454.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1455.   GrNastavBarvy(0xff);
  1456.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1457.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1458.   GrNastavBarvy(0x77);
  1459.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1460.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1461. 3 ; mazání obsahu
  1462.   GrNastavBarvy(0xFF);
  1463.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1464.  
  1465. 4 ; vypsání textu
  1466.   GrNastavPozici(x1+17,y1+2);
  1467.   GrNastavBarvy(0x00);
  1468.   GrPiτⁿet╪zec(text);
  1469.  
  1470. 5 ; kreslení k²íºku
  1471.   if(Objekty[ID].Spec==1) {
  1472.     GrNastavBarvy(0x00);
  1473.     GrKresliLinku(x1+4,y1+4,x1+10,y1+10);
  1474.     GrKresliLinku(x1+5,y1+4,x1+10,y1+9);
  1475.     GrKresliLinku(x1+4,y1+5,x1+9,y1+10);
  1476.     GrKresliLinku(x1+10,y1+4,x1+4,y1+10);
  1477.     GrKresliLinku(x1+10,y1+5,x1+5,y1+10);
  1478.     GrKresliLinku(x1+9,y1+4,x1+4,y1+9);
  1479.   }
  1480.  
  1481. 6 MyτZobrazKurzor();
  1482. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1483. /1 ; Objekt je viditeln∞
  1484.    Objekty[ID].Viditeln∞==1
  1485. =SP---------------------------------------------------------------------------
  1486.  
  1487. ;-h---------------------------------------------------------------------------
  1488. int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
  1489. -s--Vypínaƒ                                                                     ■   4  -2 -28   3
  1490. Vypínaƒ
  1491.   1!
  1492. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1493. 1 ;registrace a kreslení vypínaƒe
  1494.   Objekty[IDVypínaƒ].X=x+Objekty[okno].X;
  1495.   Objekty[IDVypínaƒ].Y=y+Objekty[okno].Y;
  1496.   Objekty[IDVypínaƒ].µí²ka=17+StrDélka(text)*8;
  1497.   Objekty[IDVypínaƒ].V∞τka=14;
  1498.   Objekty[IDVypínaƒ].Okno=okno;
  1499.   Objekty[IDVypínaƒ].ID=IDVypínaƒ;
  1500.   Objekty[IDVypínaƒ].Text=text;
  1501.   Objekty[IDVypínaƒ].Druh=4;
  1502.   Objekty[IDVypínaƒ].Styl=0;
  1503.   Objekty[IDVypínaƒ].Viditeln∞=1;
  1504.   Objekty[IDVypínaƒ].Spec=stav;
  1505.   if(událost==NULL) Objekty[IDVypínaƒ].P²i²azenaUdálost=0;
  1506.   else {
  1507.     Objekty[IDVypínaƒ].Zm╪na=událost;
  1508.     Objekty[IDVypínaƒ].P²i²azenaUdálost=1;
  1509.   }
  1510.   Seznamy[IDVypínaƒ].Poƒet=0;
  1511.   Objekty[IDVypínaƒ].PopUp=popup;
  1512.   _KresliVypínaƒ(IDVypínaƒ);
  1513.   ++IDVypínaƒ;
  1514.   return IDVypínaƒ-1;
  1515. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1516. =SP---------------------------------------------------------------------------
  1517.  
  1518. ;-h---------------------------------------------------------------------------
  1519. void _KresliTextovéPole( int ID )
  1520. -s--_KresliTextovéPole                                                          ■   6  -2 -23   3
  1521. KresliTextovéPole
  1522.         /1
  1523.         │
  1524.    12345!
  1525. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1526. 1 MyτSchovejKurzor();
  1527.  
  1528.   ; vytvo²ení a p²i²azení prom╪nn∞ch
  1529.   int x1,x2,y1,y2;
  1530.   string text;
  1531.   x1=Objekty[ID].X;
  1532.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1533.   y1=Objekty[ID].Y;
  1534.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1535.   text=Objekty[ID].Text;
  1536.  
  1537. 2 ; kreslení textového pole
  1538.   GrNastavBarvy(0x88);
  1539.   GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1540.   GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1541.   GrNastavBarvy(0x00);
  1542.   GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1543.   GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1544.   GrNastavBarvy(0xff);
  1545.   GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1546.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1547.   GrNastavBarvy(0x77);
  1548.   GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1549.   GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1550. 3 ; mazání obsahu
  1551.   GrNastavBarvy(0xFF);
  1552.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1553.  
  1554. 4 ; vypsání textu
  1555.   GrNastavPozici(x1+3,y1+3);
  1556.   GrNastavBarvy(0x00);
  1557.   GrPiτⁿet╪zec(text);
  1558.  
  1559. 5 MyτZobrazKurzor();
  1560. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1561. /1 ; Objekt je viditeln∞
  1562.    Objekty[ID].Viditeln∞==1
  1563. =SP---------------------------------------------------------------------------
  1564.  
  1565. ;-h---------------------------------------------------------------------------
  1566. string UpravTextovéPole( int ID )
  1567. -s--UpravTextovéPole                                                            ■   4  -2 -23   3
  1568. UpravTextovéPole
  1569.       1!
  1570. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1571. 1 int chyba=-1;
  1572.   do {
  1573.     GrNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+3);
  1574.     Gr¼tiSⁿet╪zec(0,Objekty[ID].Text,(Objekty[ID].µí²ka-6)/8,1,0xf0);
  1575.     if (Objekty[ID].Styl>=1) {
  1576.       string zprava;
  1577.       if (Objekty[ID].Styl==1) {
  1578.         StrNaL¼íslo(Objekty[ID].Text,&chyba);
  1579.         zprava="Zadejte prosím celé ƒíslo !";
  1580.       }
  1581.       else if (Objekty[ID].Styl==2) {
  1582.         StrNaD¼íslo(Objekty[ID].Text,&chyba);
  1583.         zprava="Zadejte prosím des. ƒíslo !";
  1584.       }
  1585.       if (chyba>=0) {
  1586.         int OknoChyba,TextChyba,ChybaTlOk;
  1587.         OknoChyba=Okno(195,185,300,110,"Chyba !",NULL,NULL);
  1588.         TextChyba=Text(50,50,OknoChyba,zprava,NULL,NULL);
  1589.         ChybaTlOk=Tlaƒítko(115,80,70,25,0,OknoChyba,"Ok",NULL,NULL);
  1590.         while(Události()!=ChybaTlOk) { }
  1591.         ZniƒOkno(OknoChyba);
  1592.         Obnov();
  1593.       }
  1594.     }
  1595.   }
  1596.   while(chyba>=0);
  1597.   MyτSchovejKurzor();
  1598.   GrNastavBarvy(0xff);
  1599.   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);
  1600.   GrNastavBarvy(0x00);
  1601.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1602.   MyτZobrazKurzor();
  1603.   return Objekty[ID].Text;
  1604. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1605. =SP---------------------------------------------------------------------------
  1606.  
  1607. ;-h---------------------------------------------------------------------------
  1608. int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
  1609. -s--TextovéPole                                                                 ■   4  -2 -26   3
  1610. TextovéPole
  1611.     1!
  1612. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1613. 1 ;registrace a kreslení textového pole
  1614.   Objekty[IDTextovéPole].X=x+Objekty[okno].X;
  1615.   Objekty[IDTextovéPole].Y=y+Objekty[okno].Y;
  1616.   Objekty[IDTextovéPole].µí²ka=τí²ka;
  1617.   Objekty[IDTextovéPole].V∞τka=16;
  1618.   Objekty[IDTextovéPole].Okno=okno;
  1619.   Objekty[IDTextovéPole].ID=IDTextovéPole;
  1620.   Objekty[IDTextovéPole].Text=text;
  1621.   Objekty[IDTextovéPole].Druh=3;
  1622.   Objekty[IDTextovéPole].Styl=styl;
  1623.   Objekty[IDTextovéPole].Viditeln∞=1;
  1624.   if(událost==NULL) Objekty[IDTextovéPole].P²i²azenaUdálost=0;
  1625.   else {
  1626.     Objekty[IDTextovéPole].Zm╪na=událost;
  1627.     Objekty[IDTextovéPole].P²i²azenaUdálost=1;
  1628.   }
  1629.   Seznamy[IDTextovéPole].Poƒet=0;
  1630.   Objekty[IDTextovéPole].PopUp=popup;
  1631.   _KresliTextovéPole(IDTextovéPole);
  1632.   ++IDTextovéPole;
  1633.   return IDTextovéPole-1;
  1634. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1635. =SP---------------------------------------------------------------------------
  1636.  
  1637. ;-h---------------------------------------------------------------------------
  1638. void _KresliText( int ID )
  1639. -s--_KresliText                                                                 ■   3  -2 -27   3
  1640. KresliText
  1641.     /1
  1642.     │
  1643.  123!
  1644. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1645. 1 MyτSchovejKurzor();
  1646.  
  1647. 2 ; kreslení textu
  1648.   GrNastavPozici(Objekty[ID].X+1,Objekty[ID].Y+1);
  1649.   GrNastavBarvy(0xff);
  1650.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1651.   GrNastavPozici(Objekty[ID].X,Objekty[ID].Y);
  1652.   GrNastavBarvy(0x00);
  1653.   GrPiτⁿet╪zec(Objekty[ID].Text);
  1654. 3 MyτZobrazKurzor();
  1655. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1656. /1 ; Objekt je viditeln∞
  1657.    Objekty[ID].Viditeln∞==1
  1658. =SP---------------------------------------------------------------------------
  1659.  
  1660. ;-h---------------------------------------------------------------------------
  1661. int Text( int  x,y,okno, string text,void (*událost)(),void (*popup)() )
  1662. -s--Text                                                                        ■   4  -2 -29   3
  1663. Text
  1664. 1!
  1665. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1666. 1 ;registrace a kreslení textu
  1667.   Objekty[IDText].X=x+Objekty[okno].X;
  1668.   Objekty[IDText].Y=y+Objekty[okno].Y;
  1669.   Objekty[IDText].µí²ka=StrDélka(text)*8;
  1670.   Objekty[IDText].V∞τka=10;
  1671.   Objekty[IDText].Okno=okno;
  1672.   Objekty[IDText].ID=IDText;
  1673.   Objekty[IDText].Text=text;
  1674.   Objekty[IDText].Druh=2;
  1675.   Objekty[IDText].Styl=0;
  1676.   Objekty[IDText].Viditeln∞=1;
  1677.   if(událost==NULL) Objekty[IDText].P²i²azenaUdálost=0;
  1678.   else {
  1679.     Objekty[IDText].Klik=událost;
  1680.     Objekty[IDText].P²i²azenaUdálost=1;
  1681.   }
  1682.   Seznamy[IDText].Poƒet=0;
  1683.   Objekty[IDText].PopUp=popup;
  1684.   _KresliText(IDText);
  1685.   ++IDText;
  1686.   return IDText-1;
  1687. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1688. =SP---------------------------------------------------------------------------
  1689.  
  1690. ;-h---------------------------------------------------------------------------
  1691. void _KresliTlaƒítko( int ID,z )
  1692. -s--_KresliTlaƒítko                                                             ■   4  -2 -25   3
  1693. KresliTlaĒtko
  1694.      /1
  1695.      │
  1696. 12345!
  1697. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1698. 1 MyτSchovejKurzor();
  1699.  
  1700.   ; vytvo²ení a p²i²azení prom╪nn∞chb
  1701.   int x1,x2,y1,y2;
  1702.   string text;
  1703.   x1=Objekty[ID].X;
  1704.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1705.   y1=Objekty[ID].Y;
  1706.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1707.   text=Objekty[ID].Text;
  1708.  
  1709. 2 ; kreslení tlaƒítka
  1710.   if (Objekty[ID].Styl==0) {
  1711.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  1712.     GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
  1713.     GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
  1714.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
  1715.     GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1716.     GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1717.     if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  1718.     GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
  1719.     GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
  1720.     if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
  1721.     GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1722.     GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1723.   }
  1724.   else if (Objekty[ID].Styl==1) {
  1725.     if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
  1726.     GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
  1727.     GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
  1728.     if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
  1729.     GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
  1730.     GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1731.   }
  1732. 3 ; mazání obsahu
  1733.   GrNastavBarvy(0x77);
  1734.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
  1735.  
  1736. 4 ; psaní textu
  1737.   GrNastavBarvy(0x70);
  1738.   if (z==0) GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1,(((y2-y1)-10)/2)+y1);
  1739.   else GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1+1,(((y2-y1)-10)/2)+y1+1);
  1740.   GrPiτⁿet╪zec(text);
  1741.  
  1742. 5 MyτZobrazKurzor();
  1743. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1744. /1 ; Objekt je viditeln∞
  1745.    Objekty[ID].Viditeln∞==1
  1746. =SP---------------------------------------------------------------------------
  1747.  
  1748. ;-h---------------------------------------------------------------------------
  1749. int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
  1750. -s--Tlaƒítko                                                                    ■   4  -2 -27   3
  1751. TlaĒtko
  1752.   1!
  1753. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1754. 1 ;registrace a kreslení tlaƒítka
  1755.   Objekty[IDTlaƒítko].X=x+Objekty[okno].X;
  1756.   Objekty[IDTlaƒítko].Y=y+Objekty[okno].Y;
  1757.   Objekty[IDTlaƒítko].µí²ka=τí²ka;
  1758.   Objekty[IDTlaƒítko].V∞τka=v∞τka;
  1759.   Objekty[IDTlaƒítko].Okno=okno;
  1760.   Objekty[IDTlaƒítko].ID=IDTlaƒítko;
  1761.   Objekty[IDTlaƒítko].Text=text;
  1762.   Objekty[IDTlaƒítko].Druh=1;
  1763.   Objekty[IDTlaƒítko].Styl=styl;
  1764.   Objekty[IDTlaƒítko].Viditeln∞=1;
  1765.   if(událost==NULL) Objekty[IDTlaƒítko].P²i²azenaUdálost=0;
  1766.   else {
  1767.     Objekty[IDTlaƒítko].Klik=událost;
  1768.     Objekty[IDTlaƒítko].P²i²azenaUdálost=1;
  1769.   }
  1770.   Seznamy[IDTlaƒítko].Poƒet=0;
  1771.   Objekty[IDTlaƒítko].PopUp=popup;
  1772.   _KresliTlaƒítko(IDTlaƒítko,0);
  1773.   ++IDTlaƒítko;
  1774.   return IDTlaƒítko-1;
  1775. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1776. =SP---------------------------------------------------------------------------
  1777.  
  1778. ;-h---------------------------------------------------------------------------
  1779. void _KresliOkno( int ID,z )
  1780. -s--_KresliOkno                                                                 ■   4  -2 -27   3
  1781. KresliOkno
  1782.    1!
  1783. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1784. 1 MyτSchovejKurzor();
  1785.  
  1786.   ; vytvo²ení a p²i²azení prom╪nn∞chb
  1787.   int x1,x2,y1,y2;
  1788.   string text;
  1789.   x1=Objekty[ID].X;
  1790.   x2=Objekty[ID].X+Objekty[ID].µí²ka;
  1791.   y1=Objekty[ID].Y;
  1792.   y2=Objekty[ID].Y+Objekty[ID].V∞τka;
  1793.   text=Objekty[ID].Text;
  1794.  
  1795.   if(z==0) {
  1796.   ; kreslení okrajà
  1797.   GrNastavBarvy(0x77);
  1798.   GrKresliLinku(x1,y1,x2,y1);
  1799.   GrKresliLinku(x1,y1,x1,y2);
  1800.   GrNastavBarvy(0x00);
  1801.   GrKresliLinku(x2,y1,x2,y2);
  1802.   GrKresliLinku(x2,y2,x1,y2);
  1803.   GrNastavBarvy(0xff);
  1804.   GrKresliLinku(x1+1,y1+1,x2-1,y1+1);
  1805.   GrKresliLinku(x1+1,y1+1,x1+1,y2-1);
  1806.   GrKresliLinku(x1,y1,x2-1,y1);
  1807.   GrKresliLinku(x1,y1,x1,y2-1);
  1808.   GrNastavBarvy(0x88);
  1809.   GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
  1810.   GrKresliLinku(x2-1,y2-1,x1+1,y2-1);
  1811.   GrNastavBarvy(0x77);
  1812.   GrKresliVypln╪n∞Obdélník(x1+2,y1+2,x2-2,y2-2);
  1813.  
  1814.   ; kreslení k²íºku
  1815.   GrNastavBarvy(0x00);
  1816.   GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
  1817.   GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
  1818.   GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
  1819.   GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
  1820.  
  1821.   ; titulek
  1822.   GrNastavBarvy(0x44);
  1823.   GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-26,y1+19);
  1824.   GrNastavBarvy(0x4f);
  1825.   GrNastavPozici(x1+9,y1+6);
  1826.   GrPiτⁿet╪zec(text);
  1827.   }
  1828.  
  1829.   else if (z==1) {
  1830.     GrNastavBarvy(0x77);
  1831.     GrKresliVypln╪n∞Obdélník(x2-10,y1+8,x2-18,y1+15);
  1832.     GrNastavBarvy(0x00);
  1833.     GrKresliLinku(x2-9,y1+9,x2-16,y1+16);
  1834.     GrKresliLinku(x2-10,y1+9,x2-17,y1+16);
  1835.     GrKresliLinku(x2-9,y1+16,x2-16,y1+9);
  1836.     GrKresliLinku(x2-10,y1+16,x2-17,y1+9);
  1837.   }
  1838.   else if (z==2) {
  1839.     GrNastavBarvy(0x77);
  1840.     GrKresliVypln╪n∞Obdélník(x2-9,y1+9,x2-17,y1+16);
  1841.     GrNastavBarvy(0x00);
  1842.     GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
  1843.     GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
  1844.     GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
  1845.     GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
  1846.   }
  1847.  
  1848.   MyτZobrazKurzor();
  1849. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1850. =SP---------------------------------------------------------------------------
  1851.  
  1852. ;-h---------------------------------------------------------------------------
  1853. int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
  1854. -s--Okno                                                                        ■   4  -2 -29   3
  1855. Okno
  1856. 1!
  1857. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1858. 1 ;registrace a kreslení tlaƒítka
  1859.   Objekty[IDOkno].X=x;
  1860.   Objekty[IDOkno].Y=y;
  1861.   Objekty[IDOkno].µí²ka=τí²ka;
  1862.   Objekty[IDOkno].V∞τka=v∞τka;
  1863.   Objekty[IDOkno].Druh=0;
  1864.   Objekty[IDOkno].ID=IDOkno;
  1865.   Objekty[IDOkno].Text=text;
  1866.   if(událost==NULL) Objekty[IDOkno].P²i²azenaUdálost=0;
  1867.   else {
  1868.     Objekty[IDOkno].Klik=událost;
  1869.     Objekty[IDOkno].P²i²azenaUdálost=1;
  1870.   }
  1871.   Objekty[IDOkno].PopUp=popup;
  1872.   _KresliOkno(IDOkno,0);
  1873.   ++IDOkno;
  1874.   return IDOkno-1;
  1875. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1876. =SP---------------------------------------------------------------------------
  1877.  
  1878. ;-h---------------------------------------------------------------------------
  1879. void P²esuσObjekt( int ID )
  1880. -s--P²esuσObjekt                                                                ■   4  -2 -25   3
  1881. P²esuσObjekt
  1882.     1!
  1883. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1884. 1 int xk=(gMyτUdálost.X-Objekty[ID].X), /* xk = X Klik (bod kliku od levého horního rohu)*/
  1885.       yk=(gMyτUdálost.Y-Objekty[ID].Y),
  1886.       mx=gMyτUdálost.X,
  1887.       my=gMyτUdálost.Y,
  1888.       mx1=gMyτUdálost.X,
  1889.       my1=gMyτUdálost.Y;
  1890.   
  1891.   GrNastavBarvuPop²edí(Bílá);
  1892.   GrNastavLinku(GrLinkaZpàsobKresleníXor);
  1893.  
  1894.   MyτNastavRozsah(Objekty[Okno1].X+xk+2,Objekty[Okno1].Y+yk+20,
  1895.                   Objekty[Okno1].X+Objekty[Okno1].µí²ka-(Objekty[ID].µí²ka-xk)-2,
  1896.                   Objekty[Okno1].Y+Objekty[Okno1].V∞τka-(Objekty[ID].V∞τka-yk)-2);
  1897.  
  1898.   while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) {
  1899.     Myτ¼tiUdálost(gMyτUdálost);
  1900.     mx1=gMyτUdálost.X;
  1901.     my1=gMyτUdálost.Y;
  1902.     if(mx-mx1 || my-my1) { /* pohyb myτí */
  1903.       MyτSchovejKurzor();
  1904.  
  1905.       GrKresliObdélník(mx1-xk,my1-yk,mx1-xk+Objekty[ID].µí²ka,my1-yk+Objekty[ID].V∞τka);
  1906.       GrKresliObdélník(mx-xk,my-yk,mx-xk+Objekty[ID].µí²ka,my-yk+Objekty[ID].V∞τka);
  1907.  
  1908.       Myτ¼tiUdálost(gMyτUdálost);
  1909.       mx=gMyτUdálost.X;
  1910.       my=gMyτUdálost.Y;
  1911.  
  1912.       MyτZobrazKurzor();
  1913.     }
  1914.   }
  1915.   GrNastavLinku(GrLinkaZpàsobKresleníNormáln╪);
  1916.   MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
  1917.   Objekty[ID].X=mx-xk;
  1918.   Objekty[ID].Y=my-yk;
  1919.   Obnovit=1;
  1920. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1921. =SP---------------------------------------------------------------------------
  1922.  
  1923. ;-h---------------------------------------------------------------------------
  1924. int VDevUdálosti( void )
  1925. -s--VDevUdálosti                                                                ■  14  -2 -11   3
  1926.                                VDevUdálosti
  1927.                                    0!
  1928.                                    Klik
  1929.                                    M!
  1930.              _______________________│_____
  1931.              │                        Obnovit?_________
  1932.          ____|____________               /:Obnovit==1 /
  1933.          /T              /              Ano           Ne
  1934.    stisk~tl~myτi        nic      :Obnov()!
  1935. 123456789!                     :Obnovit=0!
  1936.         A!
  1937. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1938. 0  int tl=StartTlaƒítko,
  1939.       okno=IDOkno-1,
  1940.       text=StartText,
  1941.       textpole=StartTextovéPole,
  1942.       vyp=StartVypínaƒ,
  1943.       pre=StartP²epínaƒ,
  1944.       vyb=StartV∞b╪r,
  1945.       menu=StartMenu;
  1946.  
  1947. M Myτ¼tiUdálost(gMyτUdálost);
  1948.  
  1949. 1 ; je stisk tlaƒítka u myτi i objektu
  1950.   tl=StartTlaƒítko;
  1951.   while (tl!=IDTlaƒítko) {
  1952.   ; je stisknuto viditelné tlaƒítko ?
  1953.   if(gMyτUdálost.X>Objekty[tl].X &&
  1954.      gMyτUdálost.Y>Objekty[tl].Y &&
  1955.      gMyτUdálost.X<Objekty[tl].X+Objekty[tl].µí²ka &&
  1956.      gMyτUdálost.Y<Objekty[tl].Y+Objekty[tl].V∞τka &&
  1957.      Objekty[tl].Okno==okno &&
  1958.      Objekty[tl].Viditeln∞==1) {
  1959.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[tl].Poƒet!=0) {
  1960.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,tl);
  1961.       PopUpID=tl;
  1962.       Objekty[tl].PopUp();
  1963.       return -1;
  1964.     }
  1965.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  1966.       P²esuσObjekt(tl);
  1967.       return tl;
  1968.     }
  1969.   }
  1970.     ++tl;
  1971.   }
  1972.  
  1973. 2 ; je p²esunuto aktivní okno
  1974.   if (gMyτUdálost.X>Objekty[okno].X+2 &&
  1975.       gMyτUdálost.Y>Objekty[okno].Y+2 &&
  1976.       gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka-25 &&
  1977.       gMyτUdálost.Y<Objekty[okno].Y+20) {
  1978.     int xok=gMyτUdálost.X-Objekty[okno].X, /* xok = X Okno Klik (bod kliku od levého horního rohu)*/
  1979.         yok=gMyτUdálost.Y-Objekty[okno].Y,
  1980.         mx=gMyτUdálost.X,
  1981.         my=gMyτUdálost.Y,
  1982.         mx1=gMyτUdálost.X,
  1983.         my1=gMyτUdálost.Y;
  1984.  
  1985.     GrNastavBarvuPop²edí(Bílá);
  1986.     GrNastavLinku(GrLinkaZpàsobKresleníXor);
  1987.  
  1988.     while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) {
  1989.  
  1990.       Myτ¼tiUdálost(gMyτUdálost);
  1991.       mx1=gMyτUdálost.X;
  1992.       my1=gMyτUdálost.Y;
  1993.       if(mx!=mx1 || my!=my1) { /* pohyb myτí */
  1994.         MyτSchovejKurzor();
  1995.  
  1996.         GrKresliObdélník(mx1-xok,my1-yok,mx1-xok+Objekty[okno].µí²ka,my1-yok+Objekty[okno].V∞τka);
  1997.         GrKresliObdélník(mx-xok,my-yok,mx-xok+Objekty[okno].µí²ka,my-yok+Objekty[okno].V∞τka);
  1998.  
  1999.         Myτ¼tiUdálost(gMyτUdálost);
  2000.         mx=gMyτUdálost.X;
  2001.         my=gMyτUdálost.Y;
  2002.  
  2003.         MyτZobrazKurzor();
  2004.       }
  2005.     }
  2006.     GrNastavLinku(GrLinkaZpàsobKresleníNormáln╪);
  2007.     P²esuσOkno(mx-xok,my-yok,okno);
  2008.     Obnov();
  2009.     return -1;
  2010.   }
  2011. 3 ; stisk v oblasti k²íºku
  2012.   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) {
  2013.    _KresliOkno(okno,1);
  2014.    while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) { Myτ¼tiUdálost(gMyτUdálost); }
  2015.    _KresliOkno(okno,2);
  2016.    if (Objekty[okno].P²i²azenaUdálost==1)  Objekty[okno].Klik();
  2017.    return okno;
  2018.   }
  2019.  
  2020.  
  2021. 4 ; stisk v oblasti textu
  2022.   while (text!=IDText) {
  2023.   if(gMyτUdálost.X>Objekty[text].X &&
  2024.      gMyτUdálost.Y>Objekty[text].Y &&
  2025.      gMyτUdálost.X<Objekty[text].X+Objekty[text].µí²ka &&
  2026.      gMyτUdálost.Y<Objekty[text].Y+Objekty[text].V∞τka &&
  2027.      Objekty[text].Okno==okno &&
  2028.      Objekty[text].Viditeln∞==1) {
  2029.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[text].Poƒet>0) {
  2030.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,text);
  2031.       PopUpID=text;
  2032.       Objekty[text].PopUp();
  2033.       return -1;
  2034.     }
  2035.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2036.       P²esuσObjekt(text);
  2037.       return text;
  2038.     }
  2039.    }
  2040.    ++text;
  2041.    }
  2042. 5 ; stisk v oblasti textového pole
  2043.   while (textpole!=IDTextovéPole) {
  2044.   if(gMyτUdálost.X>Objekty[textpole].X &&
  2045.      gMyτUdálost.Y>Objekty[textpole].Y &&
  2046.      gMyτUdálost.X<Objekty[textpole].X+Objekty[textpole].µí²ka &&
  2047.      gMyτUdálost.Y<Objekty[textpole].Y+Objekty[textpole].V∞τka &&
  2048.      Objekty[textpole].Okno==okno &&
  2049.      Objekty[textpole].Viditeln∞==1) {
  2050.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[textpole].Poƒet>0) {
  2051.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,textpole);
  2052.       PopUpID=textpole;
  2053.       Objekty[textpole].PopUp();
  2054.       return -1;
  2055.     }
  2056.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2057.       P²esuσObjekt(textpole);
  2058.       return textpole;
  2059.     }
  2060.    }
  2061.    ++textpole;
  2062.    }
  2063. 6 ; stisk v oblasti vypínaƒe
  2064.   while (vyp!=IDVypínaƒ) {
  2065.   if(gMyτUdálost.X>Objekty[vyp].X &&
  2066.      gMyτUdálost.Y>Objekty[vyp].Y &&
  2067.      gMyτUdálost.X<Objekty[vyp].X+Objekty[vyp].µí²ka &&
  2068.      gMyτUdálost.Y<Objekty[vyp].Y+Objekty[vyp].V∞τka &&
  2069.      Objekty[vyp].Okno==okno &&
  2070.      Objekty[vyp].Viditeln∞==1) {
  2071.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyp].Poƒet>0) {
  2072.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyp);
  2073.       PopUpID=vyp;
  2074.       Objekty[vyp].PopUp();
  2075.       return -1;
  2076.     }
  2077.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2078.       P²esuσObjekt(vyp);
  2079.       return vyp;
  2080.     }
  2081.    }
  2082.    ++vyp;
  2083.    }
  2084.  
  2085. 7 ; stisk v oblasti p²epínaƒe
  2086.   while (pre!=IDP²epínaƒ) {
  2087.   if(gMyτUdálost.X>Objekty[pre].X &&
  2088.      gMyτUdálost.Y>Objekty[pre].Y &&
  2089.      gMyτUdálost.X<Objekty[pre].X+Objekty[pre].µí²ka &&
  2090.      gMyτUdálost.Y<Objekty[pre].Y+Objekty[pre].V∞τka &&
  2091.      Objekty[pre].Okno==okno &&
  2092.      Objekty[pre].Viditeln∞==1) {
  2093.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[pre].Poƒet>0) {
  2094.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,pre);
  2095.       PopUpID=pre;
  2096.       Objekty[pre].PopUp();
  2097.       return -1;
  2098.     }
  2099.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2100.       P²esuσObjekt(pre);
  2101.       return pre;
  2102.     }
  2103.    }
  2104.    ++pre;
  2105.    }
  2106.  
  2107. 8 ; stisk v oblasti tlaƒíka v∞b╪ru
  2108.   while (vyb!=IDV∞b╪r) {
  2109.   if(gMyτUdálost.X>Objekty[vyb].X &&
  2110.      gMyτUdálost.Y>Objekty[vyb].Y &&
  2111.      gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka &&
  2112.      gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka &&
  2113.      Objekty[vyb].Okno==okno &&
  2114.      Objekty[vyb].Viditeln∞==1) {
  2115.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyb].Poƒet>0) {
  2116.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyb);
  2117.       PopUpID=vyb;
  2118.       Objekty[vyb].PopUp();
  2119.       return -1;
  2120.     }
  2121.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2122.       P²esuσObjekt(vyb);
  2123.       return vyb;
  2124.     }
  2125.   }
  2126.   ++vyb;
  2127.   }
  2128.  
  2129. 9 ; stisk v oblasti menu
  2130.   menu=StartMenu;
  2131.   while (menu!=IDMenu) {
  2132.   if(gMyτUdálost.X>Objekty[menu].X &&
  2133.      gMyτUdálost.Y>Objekty[menu].Y &&
  2134.      gMyτUdálost.X<Objekty[menu].X+Objekty[menu].µí²ka &&
  2135.      gMyτUdálost.Y<Objekty[menu].Y+Objekty[menu].V∞τka &&
  2136.      Objekty[menu].Okno==okno &&
  2137.      Objekty[menu].Viditeln∞==1) {
  2138.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[menu].Poƒet>0) {
  2139.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,menu);
  2140.       PopUpID=menu;
  2141.       Objekty[menu].PopUp();
  2142.       return -1;
  2143.     }
  2144.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2145.       P²esuσObjekt(menu);
  2146.       return menu;
  2147.     }
  2148.   }
  2149.     ++menu;
  2150.   }
  2151. A ; stisk v oblasti okna (pro PopUp)
  2152.   if(gMyτUdálost.X>Objekty[okno].X &&
  2153.      gMyτUdálost.Y>Objekty[okno].Y+20 &&
  2154.      gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka &&
  2155.      gMyτUdálost.Y<Objekty[okno].Y+Objekty[okno].V∞τka) {
  2156.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[okno].Poƒet>0) {
  2157.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,okno);
  2158.       PopUpID=okno;
  2159.       Objekty[okno].PopUp();
  2160.       return -1;
  2161.     }
  2162.   }
  2163. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  2164. /T gMyτUdálost.Typ == MyτUdálostLevéTlDolà || gMyτUdálost.Typ == MyτUdálostPravéTlDolà
  2165. =SP---------------------------------------------------------------------------
  2166.  
  2167. ;-h---------------------------------------------------------------------------
  2168. int Události( void )
  2169. -s--Události                                                                    ■  14  -2 -11   3
  2170.                                  Události
  2171.                                    0!
  2172.                                    Klik
  2173.                                    M!
  2174.              _______________________│_____
  2175.              │                        Obnovit?_________
  2176.          ____|____________               /:Obnovit==1 /
  2177.          /T              /              Ano           Ne
  2178.    stisk~tl~myτi        nic      :Obnov()!
  2179. 123456789!                     :Obnovit=0!
  2180.         A!
  2181. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  2182. 0  int tl=StartTlaƒítko,
  2183.       okno=IDOkno-1,
  2184.       text=StartText,
  2185.       textpole=StartTextovéPole,
  2186.       vyp=StartVypínaƒ,
  2187.       pre=StartP²epínaƒ,
  2188.       vyb=StartV∞b╪r,
  2189.       menu=StartMenu;
  2190.  
  2191. M Myτ¼tiUdálost(gMyτUdálost);
  2192.  
  2193. 1 ; je stisk tlaƒítka u myτi i objektu
  2194.   tl=StartTlaƒítko;
  2195.   while (tl!=IDTlaƒítko) {
  2196.   ; je stisknuto viditelné tlaƒítko ?
  2197.   if(gMyτUdálost.X>Objekty[tl].X &&
  2198.      gMyτUdálost.Y>Objekty[tl].Y &&
  2199.      gMyτUdálost.X<Objekty[tl].X+Objekty[tl].µí²ka &&
  2200.      gMyτUdálost.Y<Objekty[tl].Y+Objekty[tl].V∞τka &&
  2201.      Objekty[tl].Okno==okno &&
  2202.      Objekty[tl].Viditeln∞==1) {
  2203.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[tl].Poƒet!=0) {
  2204.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,tl);
  2205.       Objekty[tl].PopUp();
  2206.       return -1;
  2207.     }
  2208.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2209.       _KresliTlaƒítko(tl,1);
  2210.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  2211.         { Myτ¼tiUdálost(gMyτUdálost); }
  2212.       _KresliTlaƒítko(tl,0);
  2213.       if (Objekty[tl].P²i²azenaUdálost==1) Objekty[tl].Klik();
  2214.       return tl;
  2215.     }
  2216.   }
  2217.     ++tl;
  2218.   }
  2219.  
  2220. 2 ; je p²esunuto aktivní okno
  2221.   if (gMyτUdálost.X>Objekty[okno].X+2 &&
  2222.       gMyτUdálost.Y>Objekty[okno].Y+2 &&
  2223.       gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka-25 &&
  2224.       gMyτUdálost.Y<Objekty[okno].Y+20) {
  2225.     int xok=gMyτUdálost.X-Objekty[okno].X, /* xok = X Okno Klik (bod kliku od levého horního rohu)*/
  2226.         yok=gMyτUdálost.Y-Objekty[okno].Y,
  2227.         mx=gMyτUdálost.X,
  2228.         my=gMyτUdálost.Y,
  2229.         mx1=gMyτUdálost.X,
  2230.         my1=gMyτUdálost.Y;
  2231.  
  2232.     GrNastavBarvuPop²edí(Bílá);
  2233.     GrNastavLinku(GrLinkaZpàsobKresleníXor);
  2234.  
  2235.     while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) {
  2236.  
  2237.       Myτ¼tiUdálost(gMyτUdálost);
  2238.       mx1=gMyτUdálost.X;
  2239.       my1=gMyτUdálost.Y;
  2240.       if(mx!=mx1 || my!=my1) { /* pohyb myτí */
  2241.         MyτSchovejKurzor();
  2242.  
  2243.         GrKresliObdélník(mx1-xok,my1-yok,mx1-xok+Objekty[okno].µí²ka,my1-yok+Objekty[okno].V∞τka);
  2244.         GrKresliObdélník(mx-xok,my-yok,mx-xok+Objekty[okno].µí²ka,my-yok+Objekty[okno].V∞τka);
  2245.  
  2246.         Myτ¼tiUdálost(gMyτUdálost);
  2247.         mx=gMyτUdálost.X;
  2248.         my=gMyτUdálost.Y;
  2249.  
  2250.         MyτZobrazKurzor();
  2251.       }
  2252.     }
  2253.     GrNastavLinku(GrLinkaZpàsobKresleníNormáln╪);
  2254.     P²esuσOkno(mx-xok,my-yok,okno);
  2255.     Obnov();
  2256.     return -1;
  2257.   }
  2258. 3 ; stisk v oblasti k²íºku
  2259.   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) {
  2260.    _KresliOkno(okno,1);
  2261.    while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) { Myτ¼tiUdálost(gMyτUdálost); }
  2262.    _KresliOkno(okno,2);
  2263.    if (Objekty[okno].P²i²azenaUdálost==1)  Objekty[okno].Klik();
  2264.    return okno;
  2265.   }
  2266.  
  2267.  
  2268. 4 ; stisk v oblasti textu
  2269.   while (text!=IDText) {
  2270.   if(gMyτUdálost.X>Objekty[text].X &&
  2271.      gMyτUdálost.Y>Objekty[text].Y &&
  2272.      gMyτUdálost.X<Objekty[text].X+Objekty[text].µí²ka &&
  2273.      gMyτUdálost.Y<Objekty[text].Y+Objekty[text].V∞τka &&
  2274.      Objekty[text].Okno==okno &&
  2275.      Objekty[text].Viditeln∞==1) {
  2276.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[text].Poƒet>0) {
  2277.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,text);
  2278.       Objekty[text].PopUp();
  2279.       return -1;
  2280.     }
  2281.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2282.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  2283.         { Myτ¼tiUdálost(gMyτUdálost); }
  2284.       if (Objekty[text].P²i²azenaUdálost==1)  Objekty[text].Klik();
  2285.       return text;
  2286.     }
  2287.    }
  2288.    ++text;
  2289.    }
  2290. 5 ; stisk v oblasti textového pole
  2291.   while (textpole!=IDTextovéPole) {
  2292.   if(gMyτUdálost.X>Objekty[textpole].X &&
  2293.      gMyτUdálost.Y>Objekty[textpole].Y &&
  2294.      gMyτUdálost.X<Objekty[textpole].X+Objekty[textpole].µí²ka &&
  2295.      gMyτUdálost.Y<Objekty[textpole].Y+Objekty[textpole].V∞τka &&
  2296.      Objekty[textpole].Okno==okno &&
  2297.      Objekty[textpole].Viditeln∞==1) {
  2298.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[textpole].Poƒet>0) {
  2299.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,textpole);
  2300.       Objekty[textpole].PopUp();
  2301.       return -1;
  2302.     }
  2303.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2304.       UpravTextovéPole(textpole);
  2305.       if (Objekty[textpole].P²i²azenaUdálost==1)  Objekty[textpole].Zm╪na();
  2306.       return textpole;
  2307.     }
  2308.    }
  2309.    ++textpole;
  2310.    }
  2311. 6 ; stisk v oblasti vypínaƒe
  2312.   while (vyp!=IDVypínaƒ) {
  2313.   if(gMyτUdálost.X>Objekty[vyp].X &&
  2314.      gMyτUdálost.Y>Objekty[vyp].Y &&
  2315.      gMyτUdálost.X<Objekty[vyp].X+Objekty[vyp].µí²ka &&
  2316.      gMyτUdálost.Y<Objekty[vyp].Y+Objekty[vyp].V∞τka &&
  2317.      Objekty[vyp].Okno==okno &&
  2318.      Objekty[vyp].Viditeln∞==1) {
  2319.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyp].Poƒet>0) {
  2320.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyp);
  2321.       Objekty[vyp].PopUp();
  2322.       return -1;
  2323.     }
  2324.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2325.       if (Objekty[vyp].Spec==1) Objekty[vyp].Spec=0;
  2326.       else if (Objekty[vyp].Spec==0) Objekty[vyp].Spec=1;
  2327.       _KresliVypínaƒ(vyp);
  2328.       if (Objekty[vyp].P²i²azenaUdálost==1)  Objekty[vyp].Zm╪na();
  2329.       return vyp;
  2330.     }
  2331.    }
  2332.    ++vyp;
  2333.    }
  2334.  
  2335. 7 ; stisk v oblasti p²epínaƒe
  2336.   while (pre!=IDP²epínaƒ) {
  2337.   if(gMyτUdálost.X>Objekty[pre].X &&
  2338.      gMyτUdálost.Y>Objekty[pre].Y &&
  2339.      gMyτUdálost.X<Objekty[pre].X+Objekty[pre].µí²ka &&
  2340.      gMyτUdálost.Y<Objekty[pre].Y+Objekty[pre].V∞τka &&
  2341.      Objekty[pre].Okno==okno &&
  2342.      Objekty[pre].Viditeln∞==1) {
  2343.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[pre].Poƒet>0) {
  2344.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,pre);
  2345.       Objekty[pre].PopUp();
  2346.       return -1;
  2347.     }
  2348.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2349.       int pre1=StartP²epínaƒ;
  2350.       while (pre1!=IDP²epínaƒ) {
  2351.         if(Objekty[pre1].Skupina==Objekty[pre].Skupina && pre1!=pre) {
  2352.           Objekty[pre1].Spec=0;
  2353.           _KresliP²epínaƒ(pre1);
  2354.         }
  2355.         ++pre1;
  2356.       }
  2357.       Objekty[pre].Spec=1;
  2358.       _KresliP²epínaƒ(pre);
  2359.       if (Objekty[pre].P²i²azenaUdálost==1) Objekty[pre].Zm╪na();
  2360.       return pre;
  2361.     }
  2362.    }
  2363.    ++pre;
  2364.    }
  2365.  
  2366. 8 ; stisk v oblasti tlaƒíka v∞b╪ru
  2367.   while (vyb!=IDV∞b╪r) {
  2368.   if(gMyτUdálost.X>Objekty[vyb].X+Objekty[vyb].µí²ka-13 &&
  2369.      gMyτUdálost.Y>Objekty[vyb].Y+2 &&
  2370.      gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka-2 &&
  2371.      gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka-2 &&
  2372.      Objekty[vyb].Okno==okno &&
  2373.      Objekty[vyb].Viditeln∞==1) {
  2374.     if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2375.       _KresliV∞b╪r(vyb,1);
  2376.       while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
  2377.         { Myτ¼tiUdálost(gMyτUdálost); }
  2378.       _KresliV∞b╪r(vyb,0);
  2379.       Spus£V∞b╪r(vyb);
  2380.       if (Objekty[vyb].P²i²azenaUdálost==1) Objekty[vyb].Zm╪na();
  2381.       return vyb;
  2382.     }
  2383.   }
  2384.   if(gMyτUdálost.X>Objekty[vyb].X &&
  2385.      gMyτUdálost.Y>Objekty[vyb].Y &&
  2386.      gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka &&
  2387.      gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka &&
  2388.      Objekty[vyb].Okno==okno &&
  2389.      Objekty[vyb].Viditeln∞==1) {
  2390.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyb].Poƒet>0) {
  2391.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyb);
  2392.       Objekty[vyb].PopUp();
  2393.       return -1;
  2394.     }
  2395.   }
  2396.   ++vyb;
  2397.   }
  2398.  
  2399. 9 ; stisk v oblasti menu
  2400.   menu=StartMenu;
  2401.   while (menu!=IDMenu) {
  2402.   if(gMyτUdálost.X>Objekty[menu].X &&
  2403.      gMyτUdálost.Y>Objekty[menu].Y &&
  2404.      gMyτUdálost.X<Objekty[menu].X+Objekty[menu].µí²ka &&
  2405.      gMyτUdálost.Y<Objekty[menu].Y+Objekty[menu].V∞τka &&
  2406.      Objekty[menu].Okno==okno &&
  2407.      Objekty[menu].Viditeln∞==1) {
  2408.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[menu].Poƒet>0) {
  2409.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,menu);
  2410.       Objekty[menu].PopUp();
  2411.       return -1;
  2412.     }
  2413.     else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
  2414.       _KresliMenu(menu,1);
  2415.       Spus£Menu(menu);
  2416.       if (Objekty[menu].P²i²azenaUdálost==1) Objekty[menu].Zm╪na();
  2417.       return menu;
  2418.     }
  2419.   }
  2420.     ++menu;
  2421.   }
  2422. A ; stisk v oblasti okna (pro PopUp)
  2423.   if(gMyτUdálost.X>Objekty[okno].X &&
  2424.      gMyτUdálost.Y>Objekty[okno].Y+20 &&
  2425.      gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka &&
  2426.      gMyτUdálost.Y<Objekty[okno].Y+Objekty[okno].V∞τka) {
  2427.     if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[okno].Poƒet>0) {
  2428.       Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,okno);
  2429.       Objekty[okno].PopUp();
  2430.       return -1;
  2431.     }
  2432.   }
  2433. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  2434. /T gMyτUdálost.Typ == MyτUdálostLevéTlDolà || gMyτUdálost.Typ == MyτUdálostPravéTlDolà
  2435. =SP---------------------------------------------------------------------------
  2436.  
  2437. ;-h---------------------------------------------------------------------------
  2438. void main( void )
  2439. -s--Init                                                                        ■  10  -2  -9   3
  2440.    ______________Init______________________________
  2441. Zaƒátek    ____Prost²edek_________________      Konec
  2442.  0[!       /:GrafickáKarta()>=KartaVGA   /        !]
  2443.      Karta~Vyhovuje               Karta~Nevyhovuje
  2444.          12!              :P²epniNaText()!
  2445.            e                            N!
  2446.           3!                   :Tón(1000)!
  2447.                               :¼ekej(500)!
  2448.                               :VypniTón()!
  2449.                         :¼ekejNaKlávesu()!
  2450. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  2451. 0
  2452. [ ;vytvo² Baltazaràv grafick∞ prostor
  2453.    Vytvo²Prostor(); MyτZaƒátekObsluhy();
  2454. ] ;zruτ Baltazaràv grafick∞ prostor
  2455.   MyτKonecObsluhy(); ZruτProstor();
  2456. 1 GrNaƒtiPaletu("*\\GUI.pal");
  2457.   GrNastavMód(GrMódVGA);
  2458.   GrNastavV∞stup(2);
  2459.   GrNastavBarvy(0x66);
  2460.   GrSmaºOkno();
  2461.   MyτZobrazKurzor();
  2462.   GrNastavText(GrTextBezPozadí);
  2463.  
  2464. 2 Okno1=Okno(170,90,300,300,"Okno1",&Okno1XKlik,&Okno1PopUp);
  2465.   P²idejPoloºku(Okno1,"Nov∞ objekt");
  2466.   P²idejPoloºku(Okno1,"Vlastnosti");
  2467.   P²idejPoloºku(Okno1,"Vygenerovat");
  2468.   P²idejPoloºku(Okno1,"Konec");
  2469. 3 while(Konec==0) {
  2470.     VDevUdálosti();
  2471.   }
  2472. N TxtPiτⁿet╪zec("Nevyhovující grafická karta !!!");
  2473. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  2474. =SP---------------------------------------------------------------------------
  2475.  
  2476. //
  2477. // Konec souboru
  2478. //////////////////
  2479.