home *** CD-ROM | disk | FTP | other *** search
Text File | 2002-09-17 | 58.9 KB | 1,719 lines |
- SGPC 5.03 CZ0#352N00227 22.06.2024 23:17:03 StructNo11 11
-
- # include <sgpbalt.h>
-
- //////////////////////
- // Globální prom╪nné
- //
- // prom╪nné celoƒíselné:
- int gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ, // rozsah -32768..32767
- gI¼íslo1,gI¼íslo2,gI¼íslo3,gPàvBarvy;
- // gKlávesa je souƒástí knihovny Baltazara
- // prom╪nné reálné:
- double gD¼íslo1,gD¼íslo2,gD¼íslo3; // rozsah 5.0E-324..1.7E308
- // prom╪nná znak:
- char gZnak;
- // prom╪nná ²et╪zec:
- string gⁿet╪zec;
- struct GUIObjekt {
- int
- µí²ka,V∞τka,
- X,Y,
- Okno, /* Okno, ke kterému objekt náleºí. */
- ID; /* Pracovní identifikaƒní ƒíslo. */
- char
- Spec, /* Specifická prom╪nná (nap². stav u vypínaƒe). */
- Druh, /* Druh objektu (nap². 0=Okno,1=Tlaƒítko ...). */
- Styl, /* Styl objektu (nap². v p²ípad╪ tlaƒítka 0=obyƒejné,1=ploché ...). */
- Viditeln∞, /* Viditelnost objektu (1=viditeln∞,0=neviditeln∞) */
- Skupina, /* V p²ípad╪ p²epínaƒe urƒuje skupinu. */
- P²i²azenaUdálost; /* No Comment ;) */
- string
- Text; /* Text, kter∞ je na objektu napsán. */
- void
- (*Klik)(), /* Událost klik na objekt */
- (*Zm╪na)(), /* Událost zm╪na hodnoty (nap². zm╪na textového pole, zm╪na stavu vypínaƒe ... */
- (*PopUp)(); /* Událost vybrání poloºky PupUp menu */
- } Objekty[105]; /* Hlavní pole, které zdruºuje vτechny objekty.(index=ID) */
-
- typedef struct Seznam {
- string
- Text[20]; /* Text poloºky. */
- int
- Poƒet, /* Poƒet poloºek. */
- V∞b╪r; /* ¼íslo vybrané poloºky. */
- µí²ka; /* µí²ka seznamu v bodech. */
- } TSeznam;
- # define StartTlaƒítko 5 /* Poƒáteƒní ID Tlaƒítka */
- # define StartText 15 /* Poƒáteƒní ID Textu */
- # define StartTextovéPole 40 /* Poƒáteƒní ID Textového pole */
- # define StartVypínaƒ 60 /* Poƒáteƒní ID Vypínaƒe */
- # define StartP²epínaƒ 70 /* Poƒáteƒní ID P²epínƒe */
- # define StartV∞b╪r 85 /* Poƒáteƒní ID V∞b╪ru */
- # define StartMenu 95 /* Poƒáteƒní ID V∞b╪ru */
-
-
- int IDTlaĒtko=StartTlaĒtko,
- IDText=StartText,
- IDTextovéPole=StartTextovéPole,
- IDOkno=0,
- IDVypínaƒ=StartVypínaƒ,
- IDP²epínaƒ=StartP²epínaƒ;
- IDV∞b╪r=StartV∞b╪r,
- IDMenu=StartMenu,
- IDSeznamy=StartV∞b╪r,
- Obnovit=0;
-
- TSeznam Seznamy[105],MenuVybSeznamy[105];
-
- int Konec=0;
-
- /////////////////////
- // Pomocné definice
- //
-
- #define NE 0
- #define ANO 1
-
- #define ABS(x) ((x)>0?(x):-(x))
-
- #define __CYKLUS(N) __Cyklus(1,N);__Cyklus(0,N); //Hlava cyklu
- #define __MPVC_ 100 //Maximální poƒet vno²en∞ch cyklà
-
- int __Cyklus( int Nov∞, int Poƒet )
- //Nov∞ > 0: Otev²ení nového cyklu s N opakováními (vƒetn╪ 0)
- //Nov∞ = 0: Dalτí pràchod cyklem
- //Nov∞ < 0: P²edƒasné ukonƒení cyklu
- { static int I[__MPVC_];
- static int i = -1;
- if( Nov∞ > 0 )
- { if( ++i >= __MPVC_)
- { TxtPiτⁿet╪zec("P²íliτ mnoho vno²en∞ch cyklà");
- while(1) {Tón(1000);};
- }else I[i]=Poƒet;
- }else if( Nov∞ == 0 )
- { if(--I[i]<0){ i--; return(0);}
- else return(1);
- }else return(-(i--)); //Vrací zápornou aktuální hloubku vno²ení
- } //Cyklus
-
- void ¼ekejNaReakci(void)
- //¼eká na sitsk klávesy nebo tlaƒítka myτi
- { VyprázdniFrontuKláves();
- MyτVyprázdniFrontuUdálostí();
- ¼ekej(NaKlávesu|NaMyτ);
- VyprázdniFrontuKláves();
- MyτVyprázdniFrontuUdálostí();
- } //¼ekejNaReakci
-
- long ¥¼ti¼íslo ( char* Text )
- { long Vrátit = 0;
- GrNastavPozici(272, 0);
- Gr¼tiL¼íslo(Text,Vrátit,8,1,0xe);
- GrNastavPozici(272, 0);
- GrPiτⁿet╪zec( " " );
- return Vrátit;
- } //¥¼ti¼íslo
-
- long BaltEmuluj( char* Text )
- { long Vrátit = 0;
- int Klávesa;
- int Konec = 0;
- TypP²edm╪t P²edm╪t=1;
- VyprázdniFrontuKláves();
- GrNastavBarvy( 0x7 ); GrSmaºOkno();
- GrPiτⁿet╪zec( Text );
- Tón(1000); ¼ekej(10); VypniTón();
- while (!Konec)
- { int p;
- GrNastavPozici(0, GrV∞τkaZnaku);
- GrPiτⁿet╪zec( "ⁿá: "); GrPiτL¼íslo( PoziceBaltazaraY(), 2 );
- GrPiτⁿet╪zec( ", Sl: " ); GrPiτL¼íslo( PoziceBaltazaraX(), 2 );
- GrPiτⁿet╪zec( ", Sm: " );
- int s=Sm╪rBaltazara();
- GrPiτⁿet╪zec( s==V∞chod ? "V∞chod" :
- s==Jih ? "Jih " :
- s==Západ ? "Západ " :
- "Sever " );
- GrPiτⁿet╪zec( ", Ba: " ); NastavBarvu¼arování( p=NastavBarvu¼arování(0));
- GrPiτL¼íslo( p, 2 );
- GrPiτⁿet╪zec( ", Ry: " ); RychlostBaltazara(p = RychlostBaltazara(0));
- GrPiτL¼íslo( p, 2 );
- switch ¼tiKlávesuZFrontyS¼ekáním()
- { case KlDoleva: VlevoVbok(); break;
- case KlDoprava: VpravoVbok(); break;
- case KlNahoru: Popojdi(1); break;
- case KlDolà: ¼aruj(Baltedit()); break;
- case KlIns: Vrátit = ¥¼ti¼íslo( "¼íslo: " ); break;
- case 'B':
- case 'b': NastavBarvu¼arování( ¥¼ti¼íslo("Barva: ") ); break;
- case 'C':
- case 'c': ¼aruj(¼tverec); break;
- case 'R':
- case 'r': RychlostBaltazara( ¥¼ti¼íslo("Rychlost: ") ); break;
- case KlEnter: Konec = 1; break;
- } //switch
- } //while
- GrNastavBarvy( 0x77 ); GrSmaºOkno();
- return Vrátit;
- } //BaltEmuluj
-
-
- ///////////////////
- // Globální makra
- //
- -o1-Globals ----------------------------------------------------------------
- 0 ;prom╪nné
- ;globální prom╪nné (jsou definovány v globálních definicích Ctrl+G):
- ;prom╪nné celoƒíselné: gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ,gKlávesa;
- ;dalτí p²eddefinované globální prom╪nné mají vºdy p²edponu g..
- ;a jejich názvy jsou shodné s lokálními prom╪nn∞mi definovan∞mi níºe,
- ;nap². gD¼íslo1, gⁿet╪zec atd.
- ;lokální prom╪nné:
- ;prom╪nné celoƒíselné:
- int a,b,c,d,e,f,g,h,i,j,Klávesa, //rozsah -32768..32767
- I¼íslo1,I¼íslo2,I¼íslo3,PàvBarvy;
- ;prom╪nné reálné:
- double D¼íslo1,D¼íslo2,D¼íslo3; //rozsah 5.0E-324..1.7E308
- ;prom╪nná znak:
- char Znak;
- ;prom╪nná ²et╪zec:
- string ⁿet╪zec;
- [ ;vytvo² Baltazaràv grafick∞ prostor
- Vytvo²Prostor(); MyτZaƒátekObsluhy();
- ] ;zruτ Baltazaràv grafick∞ prostor
- MyτKonecObsluhy(); ZruτProstor();
- a Klávesa= ¼tiKlávesuZFronty();
- b P²epniNaBaltazara();
- c ¼aruj(¼tverec);
- d Gr¼tiZnak("?",Znak,1,0x07); /* edit ano, ƒerná/sv.τedá*/
- ╨ return BaltEmuluj("Hodnota?");
- e BezObláƒku();
- f VyprázdniFrontuKláves();
- g Gr¼tiSⁿet╪zec("?",ⁿet╪zec,40,1,0x3f); /*40zn, edit ano, modrá/bílá */
- h Gr¼tiI¼íslo("?",I¼íslo1,6,0,0x0e); /* 6zn, edit ne, ƒerná/ºlutá */
- i Gr¼tiD¼íslo("?",D¼íslo1,20,1,0x0f); /*20zn, edit ne, ƒerná/bílá */
- j GrPiτZnak(Znak);
- k Klávesa= ¼tiKlávesuZFrontyS¼ekáním();
- l VlevoVbok();
- ê BaltEmuluj("STOP");
- m ;vypiτ ⁿet╪zec do grafického okénka
- PàvBarvy=GrNastavBarvy(Modrá<<4|ªlutá); /*ºlutá na modré */
- GrPiτⁿet╪zec(ⁿet╪zec); /*vypíτe obsah prom╪nné ⁿet╪zec*/
- GrNastavBarvy(PàvBarvy); /*nastaví pàvodní barvy */
- n Neviditeln∞();
- o SObláƒkem();
- p Popojdi(1);
- q GrPiτL¼íslo(I¼íslo1,-1); /* -1 = nejkratτí v∞pis */
- r VpravoVbok();
- t P²epniNaText();
- u GrPiτD¼íslo(D¼íslo1,10,2); /*10 ƒíslic, z toho 2 desetinné*/
- v Viditeln∞();
- w ;ƒekej na stisk klávesy nebo tlaƒítka myτi
- ¼ekejNaReakci();
- x Skryj();
- y Odhal();
- z ;ƒelem vzad
- VlevoVbok(); VlevoVbok();
- B NastavBarvu¼arování /* B:(barva)! 0-15 */
- C ¼aruj /* C:(p²edm╪t)! 1-150 */
- ╤ return BaltEmuluj /* ╤:("Volno")! "Test" */
- L NaƒtiScénu /* L:("soubor")! "c:\\pavel\\soubor.s00" */
- ¥ BaltEmuluj /* ¥:("Text")! "Test" */
- N Náhodn╪¼aruj /* N:(p²edm╪t)! 1-150 */
- P Popojdi /* P:(poƒet_polí)! 0-14 */
- R RychlostBaltazara /* R:(rychlost)! 0-9 */
- S UloºScénu /* S:("soubor")! "c:\\pavel\\soubor.s00" */
- W ¼ekej /* W:(milisekund)! 0-32000 */
- X ¼arujNaPozici /* X:(p²edm╪t,x,y)! 1-150, 1-15, 1-10 */
- -c1-Globals ---- (? lze pouºít jako náhrada pouze pro /,*,+) -----------------
- ?n PràchodnostP²edm╪tuP²edB() Je 0
- ?p PràchodnostP²edm╪tuP²edB() Je 1
- ?B Barva¼tverceP²edB() /* Je, Není, <, >, <= ,>= */
- ?P P²edm╪tP²edB() /* Je, Není, <, >, <= ,>= */
- ?S Sm╪rBaltazara() /* Je, Není, <, >, <= ,>= */
- \b Barva¼tverceP²edB()??
- \p P²edm╪tP²edB()??
- \s Sm╪rBaltazara()??
- \C case
- #C ; n-krát #C:(5) 5₧
- __CYKLUS
- #A ;opakuj vzestupn╪ pro prom╪nnou od,do,krok #A:(i,2,10,2) i=2,4..10
- OdDoKrok
- #D ;opakuj sestupn╪ pro prom╪nnou od,do,krok #D:(i,10,2,2) i=10,8..2
- OdDolàDoKrok
- #M ;opakuj n-krát sestupn╪ pro prom╪nnou #M:(i,8) (8x) i=7,6..0
- DolàDo0
- #N ;opakuj n-krát vzestupn╪ pro prom╪nnou #N:(i,8) (8x) i=0,1..7
- Od0
- ===Globals ------------------------------------------------------------------
- /*-hf(*/
- /*-hf-*/
- void ZniƒOkno( int ID )
- /*-hf-*/;
- void P²esuσOkno( int x,y,ID )
- /*-hf-*/;
- void Obnov( void )
- /*-hf-*/;
- void P²idejPoloºku( int ID,string text )
- /*-hf-*/;
- void MenuV∞b╪rP²idejPoloºku( int ID, string text )
- /*-hf-*/;
- int Spus£PopUpMenu( int x2,y2,ID )
- /*-hf-*/;
- void _KresliMenu( int ID,z )
- /*-hf-*/;
- int Spus£Menu( int ID )
- /*-hf-*/;
- int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliV∞b╪r( int ID,z )
- /*-hf-*/;
- int Spus£V∞b╪r( int ID )
- /*-hf-*/;
- int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliP²epínaƒ( int ID )
- /*-hf-*/;
- int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliVypínaƒ( int ID )
- /*-hf-*/;
- int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliTextovéPole( int ID )
- /*-hf-*/;
- string UpravTextovéPole( int ID )
- /*-hf-*/;
- int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliText( int ID )
- /*-hf-*/;
- int Text( int x,y,okno, string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliTlaĒtko( int ID,z )
- /*-hf-*/;
- int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- void _KresliOkno( int ID,z )
- /*-hf-*/;
- int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
- /*-hf-*/;
- int Události( void )
- /*-hf-*/;
- void main( void )
- /*-hf)*/;
- ;-h---------------------------------------------------------------------------
- void ZniƒOkno( int ID )
- -s--ZniƒOkno ■ 4 -2 -27 3
- ZniƒOkno
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int tl=StartTlaĒtko,tlvoknu=0,
- text=StartText,textvoknu=0,
- textpole=StartTextovéPole,textpolevoknu=0,
- vyp=StartVypínaƒ,vypvoknu=0,
- pre=StartP²epínaƒ,prevoknu=0,
- vyb=StartV∞b╪r,vybvoknu=0,
- menu=StartMenu,menuvoknu=0;
-
- while(tl!=IDTlaĒtko) {
- if(Objekty[tl].Okno==ID) ++tlvoknu;
- ++tl;
- }
- IDTlaĒtko-=tlvoknu;
-
- while(textpole!=IDTextovéPole) {
- if(Objekty[textpole].Okno==ID) ++textpolevoknu;
- ++textpole;
- }
- IDTextovéPole-=textpolevoknu;
-
- while(text!=IDText) {
- if(Objekty[text].Okno==ID) ++textvoknu;
- ++text;
- }
- IDText-=textvoknu;
-
- while(vyp!=IDVypínaƒ) {
- if(Objekty[vyp].Okno==ID) ++vypvoknu;
- ++vyp;
- }
- IDVypínaƒ-=vypvoknu;
-
- while(pre!=IDP²epínaƒ) {
- if(Objekty[pre].Okno==ID) ++prevoknu;
- ++pre;
- }
- IDP²epínaƒ-=prevoknu;
-
- while(vyb!=IDV∞b╪r) {
- if(Objekty[vyb].Okno==ID) ++vybvoknu;
- ++vyb;
- }
- IDV∞b╪r-=vybvoknu;
-
- while(menu!=IDMenu) {
- if(Objekty[menu].Okno==ID) ++menuvoknu;
- ++menu;
- }
- IDMenu-=menuvoknu;
-
- --IDOkno;
- Obnovit=1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void P²esuσOkno( int x,y,ID )
- -s--P²esuσOkno ■ 4 -2 -26 3
- P²esuσOkno
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int tl=StartTlaĒtko,
- text=StartText,
- textpole=StartTextovéPole,
- vyp=StartVypínaƒ,
- pre=StartP²epínaƒ,
- vyb=StartV∞b╪r,
- menu=StartMenu;
-
- while(tl!=IDTlaĒtko) {
- if(Objekty[tl].Okno==ID) {
- Objekty[tl].X=x+(Objekty[tl].X-Objekty[ID].X);
- Objekty[tl].Y=y+(Objekty[tl].Y-Objekty[ID].Y);
- }
- ++tl;
- }
-
- while(text!=IDText) {
- if(Objekty[text].Okno==ID) {
- Objekty[text].X=x+(Objekty[text].X-Objekty[ID].X);
- Objekty[text].Y=y+(Objekty[text].Y-Objekty[ID].Y);
- }
- ++text;
- }
-
- while(textpole!=IDTextovéPole) {
- if(Objekty[textpole].Okno==ID) {
- Objekty[textpole].X=x+(Objekty[textpole].X-Objekty[ID].X);
- Objekty[textpole].Y=y+(Objekty[textpole].Y-Objekty[ID].Y);
- }
- ++textpole;
- }
-
- while(vyp!=IDVypínaƒ) {
- if(Objekty[vyp].Okno==ID) {
- Objekty[vyp].X=x+(Objekty[vyp].X-Objekty[ID].X);
- Objekty[vyp].Y=y+(Objekty[vyp].Y-Objekty[ID].Y);
- }
- ++vyp;
- }
-
- while(pre!=IDP²epínaƒ) {
- if(Objekty[pre].Okno==ID) {
- Objekty[pre].X=x+(Objekty[pre].X-Objekty[ID].X);
- Objekty[pre].Y=y+(Objekty[pre].Y-Objekty[ID].Y);
- }
- ++pre;
- }
-
- while(vyb!=IDV∞b╪r) {
- if(Objekty[vyb].Okno==ID) {
- Objekty[vyb].X=x+(Objekty[vyb].X-Objekty[ID].X);
- Objekty[vyb].Y=y+(Objekty[vyb].Y-Objekty[ID].Y);
- }
- ++vyb;
- }
-
- while(menu!=IDMenu) {
- if(Objekty[menu].Okno==ID) {
- Objekty[menu].X=x+(Objekty[menu].X-Objekty[ID].X);
- Objekty[menu].Y=y+(Objekty[menu].Y-Objekty[ID].Y);
- }
- ++menu;
- }
-
- Objekty[ID].X=x;
- Objekty[ID].Y=y;
- Obnovit=1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void Obnov( void )
- -s--Obnov ■ 4 -2 -29 3
- Obnov
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int okno=0,tl,text,textpole,vyp,pre,vyb,menu;
- MyτSchovejKurzor();
- GrNastavBarvy(0x66);
- GrSmaºOkno();
- MyτZobrazKurzor();
- while(okno!=IDOkno) {
- _KresliOkno(okno,0);
- tl=StartTlaĒtko;
- while(tl!=IDTlaĒtko) {
- if(Objekty[tl].Okno==okno)
- _KresliTlaĒtko(tl,0);
- ++tl;
- }
- text=StartText;
- while(text!=IDText) {
- if(Objekty[text].Okno==okno)
- _KresliText(text);
- ++text;
- }
- textpole=StartTextovéPole;
- while(textpole!=IDTextovéPole) {
- if(Objekty[textpole].Okno==okno)
- _KresliTextovéPole(textpole);
- ++textpole;
- }
- vyp=StartVypínaƒ;
- while(vyp!=IDVypínaƒ) {
- if(Objekty[vyp].Okno==okno)
- _KresliVypínaƒ(vyp);
- ++vyp;
- }
- pre=StartP²epínaƒ;
- while(pre!=IDP²epínaƒ) {
- if(Objekty[pre].Okno==okno)
- _KresliP²epínaƒ(pre);
- ++pre;
- }
- vyb=StartV∞b╪r;
- while(vyb!=IDV∞b╪r) {
- if(Objekty[vyb].Okno==okno)
- _KresliV∞b╪r(vyb,0);
- ++vyb;
- }
- menu=StartMenu;
- while(menu!=IDMenu) {
- if(Objekty[menu].Okno==okno)
- _KresliMenu(menu,0);
- ++menu;
- }
- ++okno;
- }
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void P²idejPoloºku( int ID,string text )
- -s--P²idejPoloºku ■ 4 -2 -25 3
- P²idejPoloºku
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1
- Seznamy[ID].Text[Seznamy[ID].Poƒet]=text;
- ++Seznamy[ID].Poƒet;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void MenuV∞b╪rP²idejPoloºku( int ID, string text )
- -s--MenuV∞b╪rP²idejPoloºku ■ 4 -2 -20 3
- MenuV∞b╪rP²idejPoloºku
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MenuVybSeznamy[ID].Text[MenuVybSeznamy[ID].Poƒet]=text;
- ++MenuVybSeznamy[ID].Poƒet;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Spus£PopUpMenu( int x2,y2,ID )
- -s--Spus£PopUpMenu ■ 4 -2 -24 3
- Spus£PopUpMenu
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int a=0,x,y,y1,sirka;
- if(Seznamy[ID].µí²ka==0) sirka=100;
- else sirka=Seznamy[ID].µí²ka;
- MyτSchovejKurzor();
- GrNastavBarvy(0x7f);
- GrKresliVypln╪n∞Obdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
- GrKresliObdélník(x2,y2,x2+sirka,y2+Seznamy[ID].Poƒet*12+4);
- GrNastavBarvy(0x88);
- GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2+sirka,y2);
- GrKresliLinku(x2+sirka,y2+Seznamy[ID].Poƒet*12+4,x2,y2+Seznamy[ID].Poƒet*12+4);
- GrNastavBarvy(0x00);
- while(a!=Seznamy[ID].Poƒet) {
- GrNastavPozici(x2+2,y2+2+a*12);
- GrPiτⁿet╪zec(Seznamy[ID].Text[a]);
- ++a;
- }
- MyτZobrazKurzor();
- MyτNastavPozici(x2+3,y2+3);
- MyτNastavRozsah(x2+3,y2+3,x2+97,y2+Seznamy[ID].Poƒet*12+1);
- MyτVyprázdniFrontuUdálostí();
- while(gMyτUdálost.Typ!=MyτUdálostPravéTlNahoru){
- Myτ¼tiUdálost(gMyτUdálost);
- y=(gMyτUdálost.Y-y2+2)/12;
- if(y!=y1) {
- MyτSchovejKurzor();
- GrNastavBarvy(0x00);
- GrNastavPozici(x2+2,y2+2+y1*12);
- GrPiτⁿet╪zec(Seznamy[ID].Text[y1]);
- GrNastavBarvy(0x04);
- GrNastavPozici(x2+2,y2+2+y*12);
- GrPiτⁿet╪zec(Seznamy[ID].Text[y]);
- MyτZobrazKurzor();
- Myτ¼tiUdálost(gMyτUdálost);
- y1=(gMyτUdálost.Y-y2+2)/12;
- }
- }
- Seznamy[ID].V∞b╪r=y1;
- MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
- Obnovit=1;
- return y;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliMenu( int ID,z )
- -s--_KresliMenu ■ 3 -2 -27 3
- KresliMenu
- /1
- │
- 123!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞ch
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+Objekty[ID].µí²ka;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ;kreslení menu
- if(z==0) {
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
- GrNastavBarvy(0x00);
- GrNastavPozici(x1+2,y1+2);
- GrPiτⁿet╪zec(text);
- }
- else if (z==1) {
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x1,y1,x2,y2);
- GrNastavBarvy(0x88);
- GrKresliLinku(x1,y1,x1,y2);
- GrKresliLinku(x1,y1,x2,y1);
- GrNastavBarvy(0xff);
- GrKresliLinku(x2,y2,x2,y1-1);
- GrKresliLinku(x2,y2,x1-1,y2);
- GrNastavBarvy(0x00);
- GrNastavPozici(x1+3,y1+3);
- GrPiτⁿet╪zec(text);
- }
-
- 3 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Spus£Menu( int ID )
- -s--Spus£Menu ■ 4 -2 -27 3
- Spus£Menu
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int a=0,x,y,x1,y1,sirka;
- if(MenuVybSeznamy[ID].µí²ka==0) sirka=100;
- else sirka=MenuVybSeznamy[ID].µí²ka;
- MyτSchovejKurzor();
- GrNastavBarvy(0x7f);
- GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
- Objekty[ID].Y+Objekty[ID].V∞τka,
- Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
- GrKresliObdélník(Objekty[ID].X,
- Objekty[ID].Y+Objekty[ID].V∞τka,
- Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
- GrNastavBarvy(0x88);
- GrKresliLinku(Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
- Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka);
- GrKresliLinku(Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4,
- Objekty[ID].X,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
- GrNastavBarvy(0x00);
- while(a!=MenuVybSeznamy[ID].Poƒet) {
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
- ++a;
- }
- MyτZobrazKurzor();
- MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
- MyτNastavRozsah(Objekty[ID].X+3,
- Objekty[ID].Y+Objekty[ID].V∞τka+3,
- Objekty[ID].X+sirka-3,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
- MyτVyprázdniFrontuUdálostí();
- while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
- Myτ¼tiUdálost(gMyτUdálost);
- y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
- if(y!=y1) {
- MyτSchovejKurzor();
- GrNastavBarvy(0x00);
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
- GrNastavBarvy(0x04);
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
- MyτZobrazKurzor();
- Myτ¼tiUdálost(gMyτUdálost);
- y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
- }
- }
- MenuVybSeznamy[ID].V∞b╪r=y1;
- MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
- Obnovit=1;
- return y;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Menu( int x,y,okno,string text,void (*událost)(),void (*popup)() )
- -s--Menu ■ 4 -2 -29 3
- Menu
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení menu
- Objekty[IDMenu].X=x+Objekty[okno].X;
- Objekty[IDMenu].Y=y+Objekty[okno].Y;
- Objekty[IDMenu].µí²ka=StrDélka(text)*8+4;
- Objekty[IDMenu].V∞τka=14;
- Objekty[IDMenu].Okno=okno;
- Objekty[IDMenu].ID=IDMenu;
- Objekty[IDMenu].Text=text;
- Objekty[IDMenu].Druh=7;
- Objekty[IDMenu].Styl=0;
- Objekty[IDMenu].Viditeln∞=1;
- if(událost==NULL) Objekty[IDMenu].P²i²azenaUdálost=0;
- else {
- Objekty[IDMenu].Zm╪na=událost;
- Objekty[IDMenu].P²i²azenaUdálost=1;
- }
- Objekty[IDMenu].PopUp=popup;
- Seznamy[IDMenu].Poƒet=0;
- MenuVybSeznamy[IDMenu].Poƒet=0;
- _KresliMenu(IDMenu,0);
- ++IDMenu;
- return IDMenu-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliV∞b╪r( int ID,z )
- -s--_KresliV∞b╪r ■ 6 -2 -25 3
- KresliV∞b╪r
- /1
- │
- 123456!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞ch
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+Objekty[ID].µí²ka;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ; kreslení v∞b╪ru
- GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- GrNastavBarvy(0x77);
- GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
- 3 ; mazání obsahu
- GrNastavBarvy(0xFF);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
-
- 4 ; vypsání textu
- GrNastavPozici(x1+3,y1+3);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(text);
-
- 5 ; kreslení tlaƒítka
- x1=x2-13;
- y1=y1+2;
- y2=y2-2;
- x2=x2-2;
- GrNastavBarvy(0x70);
- GrNastavText(GrTextSPozadím);
- GrNastavPozici(x1+1,y1+1);
- GrPiτZnak(25);
- GrNastavText(GrTextBezPozadí);
- if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
- GrKresliLinku(x1+2,y2-2,x2-1,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-1);
- if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
-
-
-
- 6 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Spus£V∞b╪r( int ID )
- -s--Spus£V∞b╪r ■ 4 -2 -26 3
- Spus£V∞b╪r
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int a=0,x,y,x1,y1,sirka;
- if(MenuVybSeznamy[ID].µí²ka==0) sirka=Objekty[ID].µí²ka;
- else sirka=MenuVybSeznamy[ID].µí²ka;
- MyτSchovejKurzor();
- GrNastavBarvy(0xf0);
- GrKresliVypln╪n∞Obdélník(Objekty[ID].X,
- Objekty[ID].Y+Objekty[ID].V∞τka,
- Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
- GrKresliObdélník(Objekty[ID].X,
- Objekty[ID].Y+Objekty[ID].V∞τka,
- Objekty[ID].X+sirka,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+4);
- while(a!=MenuVybSeznamy[ID].Poƒet) {
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+a*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[a]);
- ++a;
- }
- MyτZobrazKurzor();
- MyτNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+Objekty[ID].V∞τka+3);
- MyτNastavRozsah(Objekty[ID].X+3,
- Objekty[ID].Y+Objekty[ID].V∞τka+3,
- Objekty[ID].X+sirka-3,
- Objekty[ID].Y+Objekty[ID].V∞τka+MenuVybSeznamy[ID].Poƒet*12+1);
- MyτVyprázdniFrontuUdálostí();
- while(gMyτUdálost.Typ!=MyτUdálostLevéTlDolà){
- Myτ¼tiUdálost(gMyτUdálost);
- y=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
- if(y!=y1) {
- MyτSchovejKurzor();
- GrNastavBarvy(0x00);
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y1*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y1]);
- GrNastavBarvy(0x04);
- GrNastavPozici(Objekty[ID].X+2,Objekty[ID].Y+Objekty[ID].V∞τka+2+y*12);
- GrPiτⁿet╪zec(MenuVybSeznamy[ID].Text[y]);
- MyτZobrazKurzor();
- Myτ¼tiUdálost(gMyτUdálost);
- y1=(gMyτUdálost.Y-(Objekty[ID].Y+Objekty[ID].V∞τka+2))/12;
- }
- }
- Objekty[ID].Text=MenuVybSeznamy[ID].Text[y1];
- MenuVybSeznamy[ID].V∞b╪r=y1;
- MyτNastavRozsah(0,0,GrMaxX(),GrMaxY());
- Obnovit=1;
- return y;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int V∞b╪r(int x,y,τí²ka,okno,string text,void (*událost)(),void (*popup)() )
- -s--V∞b╪r ■ 4 -2 -29 3
- V∞b╪r
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení v∞b╪ru
- Objekty[IDV∞b╪r].X=x+Objekty[okno].X;
- Objekty[IDV∞b╪r].Y=y+Objekty[okno].Y;
- Objekty[IDV∞b╪r].µí²ka=τí²ka;
- Objekty[IDV∞b╪r].V∞τka=16;
- Objekty[IDV∞b╪r].Okno=okno;
- Objekty[IDV∞b╪r].ID=IDV∞b╪r;
- Objekty[IDV∞b╪r].Text=text;
- Objekty[IDV∞b╪r].Druh=6;
- Objekty[IDV∞b╪r].Styl=0;
- Objekty[IDV∞b╪r].Viditeln∞=1;
- if(událost==NULL) Objekty[IDV∞b╪r].P²i²azenaUdálost=0;
- else {
- Objekty[IDV∞b╪r].Zm╪na=událost;
- Objekty[IDV∞b╪r].P²i²azenaUdálost=1;
- }
- Objekty[IDV∞b╪r].PopUp=popup;
- Seznamy[IDV∞b╪r].Poƒet=0;
- MenuVybSeznamy[IDV∞b╪r].Poƒet=0;
- _KresliV∞b╪r(IDV∞b╪r,0);
- ++IDV∞b╪r;
- return IDV∞b╪r-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliP²epínaƒ( int ID )
- -s--_KresliP²epínaƒ ■ 3 -2 -25 3
- KresliP²epínaƒ
- /1
- │
- 123456!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞ch
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+14;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ; kreslení vypínaƒe
- GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- GrNastavBarvy(0x77);
- GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
- 3 ; mazání obsahu
- GrNastavBarvy(0xFF);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
-
- 4 ; vypsání textu
- GrNastavPozici(x1+17,y1+2);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(text);
-
- 5 ; kreslení ƒtvereƒku
- if(Objekty[ID].Spec==1) {
- GrNastavBarvy(0x00);
- GrKresliVypln╪n∞Obdélník(x1+5,y1+5,x1+9,y1+9);
- }
-
- 6 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
-
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int P²epínaƒ( int x,y,char stav,skupina,int okno,string text,void (*událost)(),void (*popup)() )
- -s--P²epínaƒ ■ 4 -2 -27 3
- P²epínaƒ
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení p²epínaƒe
- Objekty[IDP²epínaƒ].X=x+Objekty[okno].X;
- Objekty[IDP²epínaƒ].Y=y+Objekty[okno].Y;
- Objekty[IDP²epínaƒ].µí²ka=17+StrDélka(text)*8;
- Objekty[IDP²epínaƒ].V∞τka=14;
- Objekty[IDP²epínaƒ].Okno=okno;
- Objekty[IDP²epínaƒ].ID=IDP²epínaƒ;
- Objekty[IDP²epínaƒ].Text=text;
- Objekty[IDP²epínaƒ].Druh=5;
- Objekty[IDP²epínaƒ].Styl=0;
- Objekty[IDP²epínaƒ].Viditeln∞=1;
- Objekty[IDP²epínaƒ].Spec=stav;
- Objekty[IDP²epínaƒ].Skupina=skupina;
- if(událost==NULL) Objekty[IDP²epínaƒ].P²i²azenaUdálost=0;
- else {
- Objekty[IDP²epínaƒ].Zm╪na=událost;
- Objekty[IDP²epínaƒ].P²i²azenaUdálost=1;
- }
- Seznamy[IDP²epínaƒ].Poƒet=0;
- Objekty[IDP²epínaƒ].PopUp=popup;
- _KresliP²epínaƒ(IDP²epínaƒ);
- ++IDP²epínaƒ;
- return IDP²epínaƒ-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliVypínaƒ( int ID )
- -s--_KresliVypínaƒ ■ 3 -2 -24 3
- KresliVypínaƒ
- /1
- │
- 123456!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞ch
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+14;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ; kreslení vypínaƒe
- GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- GrNastavBarvy(0x77);
- GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
- 3 ; mazání obsahu
- GrNastavBarvy(0xFF);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
-
- 4 ; vypsání textu
- GrNastavPozici(x1+17,y1+2);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(text);
-
- 5 ; kreslení k²íºku
- if(Objekty[ID].Spec==1) {
- GrNastavBarvy(0x00);
- GrKresliLinku(x1+4,y1+4,x1+10,y1+10);
- GrKresliLinku(x1+5,y1+4,x1+10,y1+9);
- GrKresliLinku(x1+4,y1+5,x1+9,y1+10);
- GrKresliLinku(x1+10,y1+4,x1+4,y1+10);
- GrKresliLinku(x1+10,y1+5,x1+5,y1+10);
- GrKresliLinku(x1+9,y1+4,x1+4,y1+9);
- }
-
- 6 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Vypínaƒ( int x,y,char stav,int okno,string text,void (*událost)(),void (*popup)() )
- -s--Vypínaƒ ■ 4 -2 -28 3
- Vypínaƒ
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení vypínaƒe
- Objekty[IDVypínaƒ].X=x+Objekty[okno].X;
- Objekty[IDVypínaƒ].Y=y+Objekty[okno].Y;
- Objekty[IDVypínaƒ].µí²ka=17+StrDélka(text)*8;
- Objekty[IDVypínaƒ].V∞τka=14;
- Objekty[IDVypínaƒ].Okno=okno;
- Objekty[IDVypínaƒ].ID=IDVypínaƒ;
- Objekty[IDVypínaƒ].Text=text;
- Objekty[IDVypínaƒ].Druh=4;
- Objekty[IDVypínaƒ].Styl=0;
- Objekty[IDVypínaƒ].Viditeln∞=1;
- Objekty[IDVypínaƒ].Spec=stav;
- if(událost==NULL) Objekty[IDVypínaƒ].P²i²azenaUdálost=0;
- else {
- Objekty[IDVypínaƒ].Zm╪na=událost;
- Objekty[IDVypínaƒ].P²i²azenaUdálost=1;
- }
- Seznamy[IDVypínaƒ].Poƒet=0;
- Objekty[IDVypínaƒ].PopUp=popup;
- _KresliVypínaƒ(IDVypínaƒ);
- ++IDVypínaƒ;
- return IDVypínaƒ-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliTextovéPole( int ID )
- -s--_KresliTextovéPole ■ 6 -2 -23 3
- KresliTextovéPole
- /1
- │
- 12345!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞ch
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+Objekty[ID].µí²ka;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ; kreslení textového pole
- GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- GrNastavBarvy(0x77);
- GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
- 3 ; mazání obsahu
- GrNastavBarvy(0xFF);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
-
- 4 ; vypsání textu
- GrNastavPozici(x1+3,y1+3);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(text);
-
- 5 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- string UpravTextovéPole( int ID )
- -s--UpravTextovéPole ■ 4 -2 -23 3
- UpravTextovéPole
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 int chyba=-1;
- do {
- GrNastavPozici(Objekty[ID].X+3,Objekty[ID].Y+3);
- Gr¼tiSⁿet╪zec(0,Objekty[ID].Text,(Objekty[ID].µí²ka-6)/8,1,0xf0);
- if (Objekty[ID].Styl>=1) {
- string zprava;
- if (Objekty[ID].Styl==1) {
- StrNaL¼íslo(Objekty[ID].Text,&chyba);
- zprava="Zadejte prosím celé ƒíslo !";
- }
- else if (Objekty[ID].Styl==2) {
- StrNaD¼íslo(Objekty[ID].Text,&chyba);
- zprava="Zadejte prosím des. ƒíslo !";
- }
- if (chyba>=0) {
- int OknoChyba,TextChyba,ChybaTlOk;
- OknoChyba=Okno(195,185,300,110,"Chyba !",NULL,NULL);
- TextChyba=Text(50,50,OknoChyba,zprava,NULL,NULL);
- ChybaTlOk=TlaĒtko(115,80,70,25,0,OknoChyba,"Ok",NULL,NULL);
- while(Události()!=ChybaTlOk) { }
- ZniƒOkno(OknoChyba);
- Obnov();
- }
- }
- }
- while(chyba>=0);
- MyτSchovejKurzor();
- GrNastavBarvy(0xff);
- 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);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(Objekty[ID].Text);
- MyτZobrazKurzor();
- return Objekty[ID].Text;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int TextovéPole(int x,y,τí²ka,styl,okno,string text,void (*událost)(),void (*popup)() )
- -s--TextovéPole ■ 4 -2 -26 3
- TextovéPole
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení textového pole
- Objekty[IDTextovéPole].X=x+Objekty[okno].X;
- Objekty[IDTextovéPole].Y=y+Objekty[okno].Y;
- Objekty[IDTextovéPole].µí²ka=τí²ka;
- Objekty[IDTextovéPole].V∞τka=16;
- Objekty[IDTextovéPole].Okno=okno;
- Objekty[IDTextovéPole].ID=IDTextovéPole;
- Objekty[IDTextovéPole].Text=text;
- Objekty[IDTextovéPole].Druh=3;
- Objekty[IDTextovéPole].Styl=styl;
- Objekty[IDTextovéPole].Viditeln∞=1;
- if(událost==NULL) Objekty[IDTextovéPole].P²i²azenaUdálost=0;
- else {
- Objekty[IDTextovéPole].Zm╪na=událost;
- Objekty[IDTextovéPole].P²i²azenaUdálost=1;
- }
- Seznamy[IDTextovéPole].Poƒet=0;
- Objekty[IDTextovéPole].PopUp=popup;
- _KresliTextovéPole(IDTextovéPole);
- ++IDTextovéPole;
- return IDTextovéPole-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliText( int ID )
- -s--_KresliText ■ 3 -2 -27 3
- KresliText
- /1
- │
- 123!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- 2 ; kreslení textu
- GrNastavPozici(Objekty[ID].X+1,Objekty[ID].Y+1);
- GrNastavBarvy(0xff);
- GrPiτⁿet╪zec(Objekty[ID].Text);
- GrNastavPozici(Objekty[ID].X,Objekty[ID].Y);
- GrNastavBarvy(0x00);
- GrPiτⁿet╪zec(Objekty[ID].Text);
- 3 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Text( int x,y,okno, string text,void (*událost)(),void (*popup)() )
- -s--Text ■ 4 -2 -29 3
- Text
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení textu
- Objekty[IDText].X=x+Objekty[okno].X;
- Objekty[IDText].Y=y+Objekty[okno].Y;
- Objekty[IDText].µí²ka=StrDélka(text)*8;
- Objekty[IDText].V∞τka=10;
- Objekty[IDText].Okno=okno;
- Objekty[IDText].ID=IDText;
- Objekty[IDText].Text=text;
- Objekty[IDText].Druh=2;
- Objekty[IDText].Styl=0;
- Objekty[IDText].Viditeln∞=1;
- if(událost==NULL) Objekty[IDText].P²i²azenaUdálost=0;
- else {
- Objekty[IDText].Klik=událost;
- Objekty[IDText].P²i²azenaUdálost=1;
- }
- Seznamy[IDText].Poƒet=0;
- Objekty[IDText].PopUp=popup;
- _KresliText(IDText);
- ++IDText;
- return IDText-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliTlaĒtko( int ID,z )
- -s--_KresliTlaƒítko ■ 4 -2 -25 3
- KresliTlaĒtko
- /1
- │
- 12345!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞chb
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+Objekty[ID].µí²ka;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- 2 ; kreslení tlaƒítka
- if (Objekty[ID].Styl==0) {
- if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
- GrKresliLinku(x1+2,y1+2,x1+2,y2-3);
- GrKresliLinku(x1+2,y1+2,x2-3,y1+2);
- if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x00);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
- GrKresliLinku(x1+2,y2-2,x2-2,y2-2);
- GrKresliLinku(x2-2,y1+2,x2-2,y2-2);
- if (z==0) GrNastavBarvy(0x00); else GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- }
- else if (Objekty[ID].Styl==1) {
- if (z==0) GrNastavBarvy(0xff); else GrNastavBarvy(0x88);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-2);
- GrKresliLinku(x1+1,y1+1,x2-2,y1+1);
- if (z==0) GrNastavBarvy(0x88); else GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y2-1,x2-1,y2-1);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- }
- 3 ; mazání obsahu
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-3,y2-3);
-
- 4 ; psaní textu
- GrNastavBarvy(0x70);
- if (z==0) GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1,(((y2-y1)-10)/2)+y1);
- else GrNastavPozici((((x2-x1)-(strlen(text)*8))/2)+x1+1,(((y2-y1)-10)/2)+y1+1);
- GrPiτⁿet╪zec(text);
-
- 5 MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /1 ; Objekt je viditeln∞
- Objekty[ID].Viditeln∞==1
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Tlaƒítko(int x,y,τí²ka,v∞τka,styl,okno,string text,void (*událost)(),void (*popup)() )
- -s--Tlaƒítko ■ 4 -2 -27 3
- TlaĒtko
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení tlaƒítka
- Objekty[IDTlaĒtko].X=x+Objekty[okno].X;
- Objekty[IDTlaĒtko].Y=y+Objekty[okno].Y;
- Objekty[IDTlaƒítko].µí²ka=τí²ka;
- Objekty[IDTlaƒítko].V∞τka=v∞τka;
- Objekty[IDTlaĒtko].Okno=okno;
- Objekty[IDTlaĒtko].ID=IDTlaĒtko;
- Objekty[IDTlaĒtko].Text=text;
- Objekty[IDTlaĒtko].Druh=1;
- Objekty[IDTlaĒtko].Styl=styl;
- Objekty[IDTlaƒítko].Viditeln∞=1;
- if(událost==NULL) Objekty[IDTlaƒítko].P²i²azenaUdálost=0;
- else {
- Objekty[IDTlaƒítko].Klik=událost;
- Objekty[IDTlaƒítko].P²i²azenaUdálost=1;
- }
- Seznamy[IDTlaƒítko].Poƒet=0;
- Objekty[IDTlaĒtko].PopUp=popup;
- _KresliTlaĒtko(IDTlaĒtko,0);
- ++IDTlaĒtko;
- return IDTlaĒtko-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void _KresliOkno( int ID,z )
- -s--_KresliOkno ■ 4 -2 -27 3
- KresliOkno
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 MyτSchovejKurzor();
-
- ; vytvo²ení a p²i²azení prom╪nn∞chb
- int x1,x2,y1,y2;
- string text;
- x1=Objekty[ID].X;
- x2=Objekty[ID].X+Objekty[ID].µí²ka;
- y1=Objekty[ID].Y;
- y2=Objekty[ID].Y+Objekty[ID].V∞τka;
- text=Objekty[ID].Text;
-
- if(z==0) {
- ; kreslení okrajà
- GrNastavBarvy(0x77);
- GrKresliLinku(x1,y1,x2,y1);
- GrKresliLinku(x1,y1,x1,y2);
- GrNastavBarvy(0x00);
- GrKresliLinku(x2,y1,x2,y2);
- GrKresliLinku(x2,y2,x1,y2);
- GrNastavBarvy(0xff);
- GrKresliLinku(x1+1,y1+1,x2-1,y1+1);
- GrKresliLinku(x1+1,y1+1,x1+1,y2-1);
- GrKresliLinku(x1,y1,x2-1,y1);
- GrKresliLinku(x1,y1,x1,y2-1);
- GrNastavBarvy(0x88);
- GrKresliLinku(x2-1,y1+1,x2-1,y2-1);
- GrKresliLinku(x2-1,y2-1,x1+1,y2-1);
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x1+2,y1+2,x2-2,y2-2);
-
- ; kreslení k²íºku
- GrNastavBarvy(0x00);
- GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
- GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
- GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
- GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
-
- ; titulek
- GrNastavBarvy(0x44);
- GrKresliVypln╪n∞Obdélník(x1+3,y1+3,x2-26,y1+19);
- GrNastavBarvy(0x4f);
- GrNastavPozici(x1+9,y1+6);
- GrPiτⁿet╪zec(text);
- }
-
- else if (z==1) {
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x2-10,y1+8,x2-18,y1+15);
- GrNastavBarvy(0x00);
- GrKresliLinku(x2-9,y1+9,x2-16,y1+16);
- GrKresliLinku(x2-10,y1+9,x2-17,y1+16);
- GrKresliLinku(x2-9,y1+16,x2-16,y1+9);
- GrKresliLinku(x2-10,y1+16,x2-17,y1+9);
- }
- else if (z==2) {
- GrNastavBarvy(0x77);
- GrKresliVypln╪n∞Obdélník(x2-9,y1+9,x2-17,y1+16);
- GrNastavBarvy(0x00);
- GrKresliLinku(x2-10,y1+8,x2-17,y1+15);
- GrKresliLinku(x2-11,y1+8,x2-18,y1+15);
- GrKresliLinku(x2-10,y1+15,x2-17,y1+8);
- GrKresliLinku(x2-11,y1+15,x2-18,y1+8);
- }
-
- MyτZobrazKurzor();
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Okno( int x,y,τí²ka,v∞τka,string text,void (*událost)(),void (*popup)() )
- -s--Okno ■ 4 -2 -29 3
- Okno
- 1!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 1 ;registrace a kreslení tlaƒítka
- Objekty[IDOkno].X=x;
- Objekty[IDOkno].Y=y;
- Objekty[IDOkno].µí²ka=τí²ka;
- Objekty[IDOkno].V∞τka=v∞τka;
- Objekty[IDOkno].Druh=0;
- Objekty[IDOkno].ID=IDOkno;
- Objekty[IDOkno].Text=text;
- if(událost==NULL) Objekty[IDOkno].P²i²azenaUdálost=0;
- else {
- Objekty[IDOkno].Klik=událost;
- Objekty[IDOkno].P²i²azenaUdálost=1;
- }
- Objekty[IDOkno].PopUp=popup;
- _KresliOkno(IDOkno,0);
- ++IDOkno;
- return IDOkno-1;
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- int Události( void )
- -s--Události ■ 14 -2 -11 3
- Události
- 0!
- Klik
- M!
- _______________________│_____
- │ Obnovit?_________
- ____|____________ /:Obnovit==1 /
- /T / Ano Ne
- stisk~tl~myτi nic :Obnov()!
- 123456789! :Obnovit=0!
- A!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 0 int tl=StartTlaĒtko,
- okno=IDOkno-1,
- text=StartText,
- textpole=StartTextovéPole,
- vyp=StartVypínaƒ,
- pre=StartP²epínaƒ,
- vyb=StartV∞b╪r,
- menu=StartMenu;
-
- M Myτ¼tiUdálost(gMyτUdálost);
-
- 1 ; je stisk tlaƒítka u myτi i objektu
- tl=StartTlaĒtko;
- while (tl!=IDTlaĒtko) {
- ; je stisknuto viditelné tlaƒítko ?
- if(gMyτUdálost.X>Objekty[tl].X &&
- gMyτUdálost.Y>Objekty[tl].Y &&
- gMyτUdálost.X<Objekty[tl].X+Objekty[tl].µí²ka &&
- gMyτUdálost.Y<Objekty[tl].Y+Objekty[tl].V∞τka &&
- Objekty[tl].Okno==okno &&
- Objekty[tl].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[tl].Poƒet!=0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,tl);
- Objekty[tl].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- _KresliTlaĒtko(tl,1);
- while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
- { Myτ¼tiUdálost(gMyτUdálost); }
- _KresliTlaĒtko(tl,0);
- if (Objekty[tl].P²i²azenaUdálost==1) Objekty[tl].Klik();
- return tl;
- }
- }
- ++tl;
- }
-
- 2 ; je p²esunuto aktivní okno
- if (gMyτUdálost.X>Objekty[okno].X+2 &&
- gMyτUdálost.Y>Objekty[okno].Y+2 &&
- gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka-25 &&
- gMyτUdálost.Y<Objekty[okno].Y+20) {
- int xok=gMyτUdálost.X-Objekty[okno].X, /* xok = X Okno Klik (bod kliku od levého horního rohu)*/
- yok=gMyτUdálost.Y-Objekty[okno].Y,
- mx=gMyτUdálost.X,
- my=gMyτUdálost.Y,
- mx1=gMyτUdálost.X,
- my1=gMyτUdálost.Y;
-
- GrNastavBarvuPop²edí(Bílá);
- GrNastavLinku(GrLinkaZpàsobKresleníXor);
-
- while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) {
-
- Myτ¼tiUdálost(gMyτUdálost);
- mx1=gMyτUdálost.X;
- my1=gMyτUdálost.Y;
- if(mx!=mx1 || my!=my1) { /* pohyb myτí */
- MyτSchovejKurzor();
-
- GrKresliObdélník(mx1-xok,my1-yok,mx1-xok+Objekty[okno].µí²ka,my1-yok+Objekty[okno].V∞τka);
- GrKresliObdélník(mx-xok,my-yok,mx-xok+Objekty[okno].µí²ka,my-yok+Objekty[okno].V∞τka);
-
- Myτ¼tiUdálost(gMyτUdálost);
- mx=gMyτUdálost.X;
- my=gMyτUdálost.Y;
-
- MyτZobrazKurzor();
- }
- }
- GrNastavLinku(GrLinkaZpàsobKresleníNormáln╪);
- P²esuσOkno(mx-xok,my-yok,okno);
- Obnov();
- return -1;
- }
- 3 ; stisk v oblasti k²íºku
- 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) {
- _KresliOkno(okno,1);
- while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru) { Myτ¼tiUdálost(gMyτUdálost); }
- _KresliOkno(okno,2);
- if (Objekty[okno].P²i²azenaUdálost==1) Objekty[okno].Klik();
- return okno;
- }
-
-
- 4 ; stisk v oblasti textu
- while (text!=IDText) {
- if(gMyτUdálost.X>Objekty[text].X &&
- gMyτUdálost.Y>Objekty[text].Y &&
- gMyτUdálost.X<Objekty[text].X+Objekty[text].µí²ka &&
- gMyτUdálost.Y<Objekty[text].Y+Objekty[text].V∞τka &&
- Objekty[text].Okno==okno &&
- Objekty[text].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[text].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,text);
- Objekty[text].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
- { Myτ¼tiUdálost(gMyτUdálost); }
- if (Objekty[text].P²i²azenaUdálost==1) Objekty[text].Klik();
- return text;
- }
- }
- ++text;
- }
- 5 ; stisk v oblasti textového pole
- while (textpole!=IDTextovéPole) {
- if(gMyτUdálost.X>Objekty[textpole].X &&
- gMyτUdálost.Y>Objekty[textpole].Y &&
- gMyτUdálost.X<Objekty[textpole].X+Objekty[textpole].µí²ka &&
- gMyτUdálost.Y<Objekty[textpole].Y+Objekty[textpole].V∞τka &&
- Objekty[textpole].Okno==okno &&
- Objekty[textpole].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[textpole].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,textpole);
- Objekty[textpole].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- UpravTextovéPole(textpole);
- if (Objekty[textpole].P²i²azenaUdálost==1) Objekty[textpole].Zm╪na();
- return textpole;
- }
- }
- ++textpole;
- }
- 6 ; stisk v oblasti vypínaƒe
- while (vyp!=IDVypínaƒ) {
- if(gMyτUdálost.X>Objekty[vyp].X &&
- gMyτUdálost.Y>Objekty[vyp].Y &&
- gMyτUdálost.X<Objekty[vyp].X+Objekty[vyp].µí²ka &&
- gMyτUdálost.Y<Objekty[vyp].Y+Objekty[vyp].V∞τka &&
- Objekty[vyp].Okno==okno &&
- Objekty[vyp].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyp].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyp);
- Objekty[vyp].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- if (Objekty[vyp].Spec==1) Objekty[vyp].Spec=0;
- else if (Objekty[vyp].Spec==0) Objekty[vyp].Spec=1;
- _KresliVypínaƒ(vyp);
- if (Objekty[vyp].P²i²azenaUdálost==1) Objekty[vyp].Zm╪na();
- return vyp;
- }
- }
- ++vyp;
- }
-
- 7 ; stisk v oblasti p²epínaƒe
- while (pre!=IDP²epínaƒ) {
- if(gMyτUdálost.X>Objekty[pre].X &&
- gMyτUdálost.Y>Objekty[pre].Y &&
- gMyτUdálost.X<Objekty[pre].X+Objekty[pre].µí²ka &&
- gMyτUdálost.Y<Objekty[pre].Y+Objekty[pre].V∞τka &&
- Objekty[pre].Okno==okno &&
- Objekty[pre].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[pre].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,pre);
- Objekty[pre].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- int pre1=StartP²epínaƒ;
- while (pre1!=IDP²epínaƒ) {
- if(Objekty[pre1].Skupina==Objekty[pre].Skupina && pre1!=pre) {
- Objekty[pre1].Spec=0;
- _KresliP²epínaƒ(pre1);
- }
- ++pre1;
- }
- Objekty[pre].Spec=1;
- _KresliP²epínaƒ(pre);
- if (Objekty[pre].P²i²azenaUdálost==1) Objekty[pre].Zm╪na();
- return pre;
- }
- }
- ++pre;
- }
-
- 8 ; stisk v oblasti tlaƒíka v∞b╪ru
- while (vyb!=IDV∞b╪r) {
- if(gMyτUdálost.X>Objekty[vyb].X+Objekty[vyb].µí²ka-13 &&
- gMyτUdálost.Y>Objekty[vyb].Y+2 &&
- gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka-2 &&
- gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka-2 &&
- Objekty[vyb].Okno==okno &&
- Objekty[vyb].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- _KresliV∞b╪r(vyb,1);
- while (gMyτUdálost.Typ != MyτUdálostLevéTlNahoru)
- { Myτ¼tiUdálost(gMyτUdálost); }
- _KresliV∞b╪r(vyb,0);
- Spus£V∞b╪r(vyb);
- if (Objekty[vyb].P²i²azenaUdálost==1) Objekty[vyb].Zm╪na();
- return vyb;
- }
- }
- if(gMyτUdálost.X>Objekty[vyb].X &&
- gMyτUdálost.Y>Objekty[vyb].Y &&
- gMyτUdálost.X<Objekty[vyb].X+Objekty[vyb].µí²ka &&
- gMyτUdálost.Y<Objekty[vyb].Y+Objekty[vyb].V∞τka &&
- Objekty[vyb].Okno==okno &&
- Objekty[vyb].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[vyb].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,vyb);
- Objekty[vyb].PopUp();
- return -1;
- }
- }
- ++vyb;
- }
-
- 9 ; stisk v oblasti menu
- menu=StartMenu;
- while (menu!=IDMenu) {
- if(gMyτUdálost.X>Objekty[menu].X &&
- gMyτUdálost.Y>Objekty[menu].Y &&
- gMyτUdálost.X<Objekty[menu].X+Objekty[menu].µí²ka &&
- gMyτUdálost.Y<Objekty[menu].Y+Objekty[menu].V∞τka &&
- Objekty[menu].Okno==okno &&
- Objekty[menu].Viditeln∞==1) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[menu].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,menu);
- Objekty[menu].PopUp();
- return -1;
- }
- else if(gMyτUdálost.Typ==MyτUdálostLevéTlDolà) {
- _KresliMenu(menu,1);
- Spus£Menu(menu);
- if (Objekty[menu].P²i²azenaUdálost==1) Objekty[menu].Zm╪na();
- return menu;
- }
- }
- ++menu;
- }
- A ; stisk v oblasti okna (pro PopUp)
- if(gMyτUdálost.X>Objekty[okno].X &&
- gMyτUdálost.Y>Objekty[okno].Y+20 &&
- gMyτUdálost.X<Objekty[okno].X+Objekty[okno].µí²ka &&
- gMyτUdálost.Y<Objekty[okno].Y+Objekty[okno].V∞τka) {
- if(gMyτUdálost.Typ==MyτUdálostPravéTlDolà && Seznamy[okno].Poƒet>0) {
- Spus£PopUpMenu(gMyτUdálost.X,gMyτUdálost.Y,okno);
- Objekty[okno].PopUp();
- return -1;
- }
- }
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- /T gMyτUdálost.Typ == MyτUdálostLevéTlDolà || gMyτUdálost.Typ == MyτUdálostPravéTlDolà
- =SP---------------------------------------------------------------------------
-
- ;-h---------------------------------------------------------------------------
- void main( void )
- -s--Init ■ 10 -2 -9 3
- ______________Init______________________________
- Zaƒátek ____Prost²edek_________________ Konec
- 0[! /:GrafickáKarta()>=KartaVGA / !]
- Karta~Vyhovuje Karta~Nevyhovuje
- 12! :P²epniNaText()!
- e N!
- 3! :Tón(1000)!
- :¼ekej(500)!
- :VypniTón()!
- :¼ekejNaKlávesu()!
- -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
- 0
- [ ;vytvo² Baltazaràv grafick∞ prostor
- Vytvo²Prostor(); MyτZaƒátekObsluhy();
- ] ;zruτ Baltazaràv grafick∞ prostor
- MyτKonecObsluhy(); ZruτProstor();
- 1 GrNaƒtiPaletu("*\\GUI.pal");
- GrNastavMód(GrMódVGA);
- GrNastavV∞stup(2);
- GrNastavBarvy(0x66);
- GrSmaºOkno();
- MyτZobrazKurzor();
- GrNastavText(GrTextBezPozadí);
-
- 2 ; Uºivatelské objekty
-
- 3 while(Konec==0) {
- Události();
- }
- N TxtPiτⁿet╪zec("Nevyhovující grafická karta !!!");
- -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
- =SP---------------------------------------------------------------------------
-
- //
- // Konec souboru
- //////////////////
-