home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 April / Chip_2000-04_cd.bin / ctenari / Cerny / DEMOPGU.$AS < prev    next >
Text File  |  2000-02-12  |  20KB  |  685 lines

  1. program DemoPGU;
  2. {$M 16384,0,655360}
  3.  
  4. uses PGUGraph, PGUInput, PGUText, PGUDial, PGUInven, PGUDir, PGUCalc,
  5. ┼ MenuSel, IcoApp, IcoButt, InfoWin, SetButt, TextButt, RowIco,
  6. ┼ RowButt, Offer, CursorGr, DeskText;
  7.  
  8. procedure DemoDialog;
  9. Label VenDD;
  10. begin
  11.   OknoDialog(50,80);
  12.   DialogOkna('Jméno a p┴²íjmení','Franti┴τek Koudelka',20,Zakladni,0,'');
  13.   DialogOkna('Ulice a ƒ.p.','plk.Mráze 1182',30,Zakladni,0,'');
  14.   DialogOkna('Bydli┴τt┴╪ a psƒ.','102 00 Praha 10-Hostiva┴²',30,Zakladni,0,'');
  15.   DialogOkna('Telefon/Fax','02 / 25 69 78',20,Zakladni,0,'');
  16.   DialogOkna('E-mail','├w.koudelka.cz',30,Zakladni,0,'');
  17.   DialogOkna('Typ poƒítaƒe','PC/IBM 486',20,Rozsirene,5,'typypc.doc');
  18.   DialogOkna('Grafická karta','SVGA',10,Rozsirene,5,'grkarty.doc');
  19.   DialogOkna('Typ BIOSu','VesaBios',10,Zakladni,0,'');
  20.   TlacitkoDialogu(1,'Uloº kartu');
  21.   TlacitkoDialogu(2,'Zru┴τ kartu');
  22.   TlacitkoDialogu(3,'Dal┴τí karta');
  23.   TlacitkoDialogu(4,' P┴²ede┴τlá karta');
  24.   TlacitkoDialogu(5,'Pomoc');
  25.   TlacitkoDialogu(6,'Návrat zp┴╪t');
  26.   VytvorOknoDialogu('Registraƒní karta',3,11);
  27.   repeat
  28. ─ OtevriOknoDialogu;
  29. ─ VyberVOkne := SelektDialog;
  30. ─ Case VyberVOkne of
  31. ╚ 1 : begin
  32. ╬ ChyboveHlaseni('Uloºit','Zp┴╪t','Uloºit data do souboru?');
  33. ╬ if KladnaVolba then
  34. ╬ begin
  35. ╨ PisInformaci('Ukládám data do souboru! ¼EKEJ!');
  36. ╨ Pauza(2├0);
  37. ╨ SmazInformaci;
  38. ╬ end;
  39. ╠ end;
  40. ╚ 2 : begin
  41. ╬ Pauza(300);
  42. ╬ ChyboveHlaseni('Zru┴τit','Ponechat','Zru┴τit obsah této karty?');
  43. ╠ end;
  44. ╚ 3 : begin
  45. ╬ Pauza(300);
  46. ╬ ChyboveHlaseni('Budi┴τ','Ne','Vypsat obsah dal┴τí karty?');
  47. ╠ end;
  48. ╚ 4 : begin
  49. ═ Pauza(300);
  50. ═ ChyboveHlaseni('Budi┴τ','Ne','Vypsat obsah p┴²ede┴τlé karty?');
  51. ╠ end;
  52. ╚ 5 : {VypisTextuXY(150,150,550,450,'dialhlp.doc','');}
  53. ═ TextOknoXY(150,150,450,450,'dialhlp.doc','');
  54. ╚ 6 : begin
  55. ╬ Pauza(300);
  56. ╬ ChyboveHlaseni('Skonƒit','Zp┴╪t','Chce┴τ to ukonƒit?');
  57. ╬ if KladnaVolba then Goto VenDD;
  58. ╠ end;
  59. ┼ end; {Case}
  60.   until VyberVOkne = 0;
  61.   VenDD :
  62.   ZavriOknoDialogu;
  63. end;
  64.  
  65. procedure VlastniDialog;
  66. Label EndDialog;
  67. begin
  68.   UlozPozadi(50,100,450,270,'TEMP\DIALOG.UND');
  69.   OknoXY(50,100,450,270,'Vlastní dialog',SysF,3,11);
  70.   RadekDialog(55,130,1,'Text k obrázku:','',40,FALSE,0,'');
  71.   RadekDialog(55,155,2,'Cesta a jméno :','',40,FALSE,0,'');
  72.   RadekDialog(55,180,3,'Pracovní adresá┴²:','C:\PGU3\IMAGE',30,TRUE,5,'CESTY.DOC');
  73.   TlacitkoSet(160,205,1,'normáln┴╪',3,Dole);
  74.   TlacitkoSet(160,225,2,'inverzn┴╪',3,Nahore);
  75.   TlacitkoSet(300,205,3,'pràhledn┴╪',3,Nahore);
  76.   TlacitkoSet(300,225,4,'zm┴╪na barev',3,Dole);
  77.   TlacitkoVolba(60,225,140,245,Nahore,'KONEC',3,11);
  78.   ZapniMys;
  79.   repeat
  80. ─ if LeveTlacitkoMysi then
  81. ─ begin
  82. ╞ VypniMys;
  83. ╞ if PoziceKurzoru(60,140,225,245) then
  84. ╞ begin
  85. ╚ TlacitkoVolba(60,225,140,245,Dole,'KONEC',3,11);
  86. ╚ Pauza(300);
  87. ╚ ChyboveHlaseni('Ukonƒit','Pokraƒovat','Skuteƒn┴╪ ukonƒit dialog?');
  88. ╚ if KladnaVolba then Goto EndDialog;
  89. ╚ TlacitkoVolba(60,225,140,245,Nahore,'KONEC',3,11);
  90. ╞ end;
  91.  
  92. ╞ if PoziceTlacitkaSet(1) then
  93. ╞ begin
  94. ╚ Pauza(300);
  95. ╚ Volba := 'NE';
  96. ╚ if VolbaTlacitkaSet(1) then Volba := 'ANO';
  97. ╞ end;
  98. ╞ if PoziceTlacitkaSet(2) then
  99. ╞ begin
  100. ╚ Pauza(300);
  101. ╚ Volba := 'NE';
  102. ╚ if VolbaTlacitkaSet(2) then Volba := 'ANO';
  103. ╞ end;
  104. ╞ if PoziceTlacitkaSet(3) then
  105. ╞ begin
  106. ╚ Pauza(300);
  107. ╚ Volba := 'NE';
  108. ╚ if VolbaTlacitkaSet(3) then Volba := 'ANO';
  109. ╞ end;
  110. ╞ if PoziceTlacitkaSet(4) then
  111. ╞ begin
  112. ╚ Pauza(300);
  113. ╚ Volba := 'NE';
  114. ╚ if VolbaTlacitkaSet(4) then Volba := 'ANO';
  115. ╞ end;
  116.  
  117. ╞ if PoziceRadekDialog(1) then
  118. ╞ begin
  119. ╚ VstupDialogu(1);
  120. ╞ end;
  121. ╞ if PoziceRadekDialog(2) then
  122. ╞ begin
  123. ╚ VstupDialogu(2);
  124. ╚ RadekDialog(55,155,2,'Cesta a jméno obrázku:',SetSys.DialogData,40,FALSE,0,'');
  125. ╞ end;
  126. ╞ if PoziceRadekDialog(3) then
  127. ╞ begin
  128. ╚ VstupDialogu(3);
  129. ╞ end;
  130. ╞ if PoziceTextTlacitka(3) then
  131. ╞ begin
  132. ╚ VypisNabidkuXY(Dialog[3].NabidkaX,Dialog[3].NabidkaY,5,'cesty.doc');
  133. ╚ if SetSys.NabidkaSoubor <> '' then
  134. ╚ begin
  135. ╔ Dialog[3].Data := SetSys.NabidkaSoubor;
  136. ╔ RadekDialog(55,180,3,'Pracovní adresá┴²:',Dialog[3].Data,30,TRUE,5,'CESTY.DOC');
  137. ╔ SetSys.InputRadek := '';
  138. ╚ end;
  139. ╞ end;
  140. ╞ ZapniMys;
  141. ─ end;
  142.   until KonecSmycky;
  143.   EndDialog :
  144.   VratPozadi(50,100,450,270,'TEMP\DIALOG.UND');
  145. end;
  146.  
  147. procedure TvorbaMenu;
  148. begin
  149.  NoveMenu;
  150.  PolozkaMenu('PGUGraph  ',1,'');
  151.  PolozkaMenu('PGUText  ',1,'');
  152.  PolozkaMenu('PGUInven  ',1,'');
  153.  PolozkaMenu('PGUDial  ',1,'');
  154.  PolozkaMenu('PGUDir  ',1,'');
  155.  PolozkaMenu('PGUCalc  ',1,'');
  156.  PolozkaMenu('PGUPrn  ',1,'');
  157.  MenuLinka;
  158.  PolozkaMenu('Offer  ',1,'');
  159.  PolozkaMenu('CursorGr  ',1,'');
  160.  PolozkaMenu('IcoApp  ',1,'');
  161.  PolozkaMenu('IcoButt  ',1,'');
  162.  PolozkaMenu('InfoWin  ',1,'');
  163.  PolozkaMenu('MenuSel  ',1,'');
  164.  PolozkaMenu('RowButt  ',1,'');
  165.  PolozkaMenu('RowIco  ',1,'');
  166.  PolozkaMenu('SetButt  ',1,'');
  167.  PolozkaMenu('TextButt  ',1,'');
  168.  PolozkaMenu('DeskText  ',1,'');
  169.  PolozkaMenu('DeskInv  ',1,'');
  170.  VytvorMenu;
  171. end;
  172.  
  173. procedure MenuStruktury;
  174. begin
  175.  NoveMenu;
  176.  PolozkaMenu('Základ programu ',1,'');
  177.  MenuLinka;
  178.  PolozkaMenu('Nabídkov┴∞ pruh ',1,'');
  179.  PolozkaMenu('┴ⁿada tlaƒítek ',1,'');
  180.  PolozkaMenu('┴ⁿada ikonov┴∞ch tlaƒítek ',1,'');
  181.  PolozkaMenu('Tlaƒítka s ikonou ',1,'');
  182.  PolozkaMenu('Aplikaƒní ikony ',1,'');
  183.  PolozkaMenu('┴ⁿídící ƒást programu ',1,'');
  184.  MenuLinka;
  185.  PolozkaMenu('OknoDialog ',1,'');
  186.  PolozkaMenu('Vlastní dialogové okno ',1,'');
  187.  PolozkaMenu('Dialogov┴∞ ┴²ádek ',1,'');
  188.  MenuLinka;
  189.  PolozkaMenu('InfoOkno ',1,'');
  190.  PolozkaMenu('OknoVolba ',1,'');
  191.  PolozkaMenu('ChybovéHlá┴τení ',1,'');
  192.  MenuLinka;
  193.  PolozkaMenu('VypisTextuXY├. ',1,'');
  194.  PolozkaMenu('TextPlochaXY├. ',1,'');
  195.  PolozkaMenu('TextOknoXY├. ',1,'');
  196.  VytvorMenu;
  197.  OtevriMenu(PodNabidku,1);
  198.  repeat
  199.   VyberMenu := VolbaPolozky;
  200.   Case VyberMenu of
  201. ─ 1 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.0');
  202. ─ 3 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.2');
  203. ─ 4 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.3');
  204. ─ 5 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.4');
  205. ─ 6 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.5');
  206. ─ 7 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','1.6');
  207. ─ 8 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','2.1');
  208. ├ 10 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','3.1');
  209. ├ 11 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','3.2');
  210. ├ 12 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','3.3');
  211. ├ 14 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','4.1');
  212. ├ 15 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','4.2');
  213. ├ 16 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','4.3');
  214. ├ 18 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','5.1');
  215. ├ 19 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','5.2');
  216. ├ 20 : VypisTextuXY(VedleMenu,1,630,450,'hlp\struktur.doc','5.3');
  217.  
  218.   end; {Case}
  219.  until VyberMenu = 0;
  220.  ZrusMenu;
  221. end;
  222.  
  223. procedure MenuPrikazy;
  224. begin
  225.  TvorbaMenu;
  226.  OtevriMenu(PodNabidku,2);
  227.  repeat
  228.   VyberMenu := VolbaPolozky;
  229.   Case VyberMenu of
  230. ─ 1 : VypisNabidkuXY(VedleMenu,1,20,'hlp\pguunit.hlp');
  231. ─ 2 : VypisNabidkuXY(VedleMenu,3,11,'hlp\pgutext.hlp');
  232. ─ 3 : VypisNabidkuXY(VedleMenu,4,11,'hlp\pguinven.hlp');
  233. ─ 4 : VypisNabidkuXY(VedleMenu,5,20,'hlp\pgudial.hlp');
  234. ─ 5 : VypisNabidkuXY(VedleMenu,6,11,'hlp\pgudir.hlp');
  235. ─ 6 : VypisNabidkuXY(VedleMenu,7,11,'hlp\pgucalc.hlp');
  236. ─ 7 : VypisNabidkuXY(VedleMenu,8,11,'hlp\prnpgu.hlp');
  237. ─ 9 : VypisNabidkuXY(VedleMenu,9,11,'hlp\offer.hlp');
  238. ├ 10 : VypisNabidkuXY(VedleMenu,9,11,'hlp\cursorgr.hlp');
  239. ├ 11 : VypisNabidkuXY(VedleMenu,9,11,'hlp\icoapp.hlp');
  240. ├ 12 : VypisNabidkuXY(VedleMenu,9,11,'hlp\icobutt.hlp');
  241. ├ 13 : VypisNabidkuXY(VedleMenu,9,11,'hlp\infowin.hlp');
  242. ├ 14 : VypisNabidkuXY(VedleMenu,9,11,'hlp\menusel.hlp');
  243. ├ 15 : VypisNabidkuXY(VedleMenu,9,11,'hlp\rowbutt.hlp');
  244. ├ 16 : VypisNabidkuXY(VedleMenu,9,11,'hlp\rowico.hlp');
  245. ├ 17 : VypisNabidkuXY(VedleMenu,9,11,'hlp\setbutt.hlp');
  246. ├ 18 : VypisNabidkuXY(VedleMenu,9,11,'hlp\textbutt.hlp');
  247. ├ 19 : VypisNabidkuXY(VedleMenu,9,11,'hlp\desktext.hlp');
  248. ├ 20 : VypisNabidkuXY(VedleMenu,9,11,'hlp\deskinv.hlp');
  249.   end; {Case}
  250.  until VyberMenu = 0;
  251.  ZrusMenu;
  252. end;
  253.  
  254. procedure DemoPlocha(SouPlocha:string; TextInfo:string);
  255. begin
  256.   UlozPozadi(0,0,OknoMaxX,OknoMaxY,'TEMP\MENU.UND');
  257.   ObrazekIMB(0,0,SouPlocha,0);
  258.   PisInformaci(TextInfo+' Po prohlédnutí klikni na ÄÅ!');
  259.   TypKurzoru('SYSTEM\MOUSE.DFM');
  260.   ZapniMys;
  261.   MousWait;
  262.   VypniMys;
  263.   TypKurzoru('SYSTEM\CURSYS.DFM');
  264.   VratPozadi(0,0,OknoMaxX,OknoMaxY,'TEMP\MENU.UND');
  265. end;
  266.  
  267. procedure MenuPrisl;
  268. begin
  269.  NoveMenu;
  270.  PolozkaMenu('Editor systémov┴∞ch fontà ',1,'');
  271.  PolozkaMenu('Editor tlaƒítkov┴∞ch ikon ',1,'');
  272.  PolozkaMenu('Editor aplikaƒních ikon ',1,'');
  273.  PolozkaMenu('Edit grafick┴∞ch kurzorà ',1,'');
  274.  MenuLinka;
  275.  PolozkaMenu('Edit tiskov┴∞ch fontà ',1,'');
  276.  VytvorMenu;
  277.  OtevriMenu(PodNabidku,5);
  278.  repeat
  279.   VyberMenu := VolbaPolozky;
  280.   Case VyberMenu of
  281. ─ 1 : DemoPlocha('IMB\EDITFN.IMB',
  282. ╙ 'Ukázka programu na tvorbu systémov┴∞ch fontà.');
  283. ─ 2 : DemoPlocha('IMB\EDITICO1.IMB',
  284. ╙ 'Ukázka programu na tvorbu ikonov┴∞ch tlaƒítek.');
  285. ─ 3 : DemoPlocha('IMB\EDITIKON.IMB',
  286. ╙ 'Ukázka programu na tvorbu aplikaƒních ikon.');
  287. ─ 4 : DemoPlocha('IMB\EDITMOUS.IMB',
  288. ╙ 'Ukázka programu na tvorbu grafick┴∞ch kurzorà pro my┴τ.');
  289. ─ 6 : DemoPlocha('IMB\EDITPRNF.IMB',
  290. ╙ 'Ukázka programu na tvorbu tiskov┴∞ch fontà.');
  291.   end; {Case}
  292.  until VyberMenu = 0;
  293.  ZrusMenu;
  294. end;
  295.  
  296. procedure DemoOkna(kam,kt:integer);
  297. begin
  298.  NoveMenu;
  299.  PolozkaMenu('OknoXY ',1,'');
  300.  PolozkaMenu('OknoDialog ',1,'');
  301.  PolozkaMenu('Vlastní dialogové okno ',1,'');
  302.  PolozkaMenu('Dialogov┴∞ ┴²ádek ',1,'');
  303.  MenuLinka;
  304.  PolozkaMenu('InfoOkno ',1,'');
  305.  PolozkaMenu('PisInfo ',1,'');
  306.  PolozkaMenu('OknoVolba ',1,'');
  307.  PolozkaMenu('ChybovéHlá┴τení ',1,'');
  308.  VytvorMenu;
  309.  OtevriMenu(kam,kt);─ 
  310.  repeat
  311.   VyberMenu := VolbaPolozky;
  312.   Case VyberMenu of
  313. ─ 1 : begin
  314. ╔ UlozPozadi(300,100,600,400,'OKNO.UND');
  315. ╔ OknoXY(300,100,600,400,'OKNO 1',SysF,7,15);
  316. ╔ GrafTextXY(360,160,1,SysF,'Pro ukonƒení klikni na ÄÅ!',1);
  317. ╔ TypKurzoru('SYSTEM\MOUSE.DFM');
  318. ╔ ZapniMys;
  319. ╔ MousWait;
  320. ╔ VypniMys;
  321. ╔ TypKurzoru('SYSTEM\CURSYS.DFM');
  322. ╔ VratPozadi(300,100,600,400,'OKNO.UND');
  323. ╚ end;
  324. ─ 2 : DemoDialog;
  325. ─ 3 : VlastniDialog;
  326. ─ 4 : begin
  327. ╩ CzechYes := TRUE;
  328. ╩ PassYes := FALSE;
  329. ╩ InputRadek(150,150,'Poloºka','text poloºky',30);
  330. ╚ end;
  331. ─ 6 : begin
  332. ╩ NoveInfo;
  333. ╩ RadekInfo('Pokud je n┴╪která informace del┴τí');
  334. ╩ RadekInfo('a vyºaduje podrobn┴╪j┴τí popis, lze');
  335. ╩ RadekInfo('pouºít tohoto informaƒního okna,');
  336. ╩ RadekInfo('které màºe obsahovat max. 10 ┴²ádkà.');
  337. ╩ InfoOknoXY(150,200,' Rozumím├.',' Tak ºe O.K. ?','PRECTI.IMG');
  338. ╩ if KladnaVolba then
  339. ╚ end;
  340. ─ 7 : begin
  341. ╩ TypKurzoru('SYSTEM\MOUSE.DFM');
  342. ╩ PisInformaci('Tento dialogov┴∞ ┴²ádek slouºí pro struƒnou informaci (Klikni na ÄÅ!)');
  343. ╩ ZapniMys;
  344. ╩ MousWait;
  345. ╩ VypniMys;
  346. ╩ TypKurzoru('SYSTEM\CURSYS.DFM');
  347. ╩ SmazInformaci;
  348. ╚ end;
  349. ─ 8 : begin
  350. ╩ OknoVolbaXY(250,200,'TRUE','FALSE','Okno pro volbu├.');
  351. ╩ if KladnaVolba then
  352. ╚ end;
  353. ─ 9 : begin
  354. ╔ ChyboveHlaseni('TRUE ','FALSE ','Chybové hlá┴τení ƒi volbu lze vypsat také do tohoto ┴²ádku');
  355. ╔ if KladnaVolba then
  356. ╚ end;
  357.   end; {Case}
  358.  until VyberMenu = 0;
  359.  ZrusMenu;
  360. end;
  361.  
  362. procedure DialogUkazka(kam,kt:integer);
  363. begin
  364.  NoveMenu;
  365.  PolozkaMenu('OknoDialog ',1,'');
  366.  PolozkaMenu('Vlastní dialogové okno ',1,'');
  367.  PolozkaMenu('Dialogov┴∞ ┴²ádek ',1,'');
  368.  VytvorMenu;
  369.  OtevriMenu(kam,kt);├ 
  370.  repeat
  371.   VyberMenu := VolbaPolozky;
  372.   Case VyberMenu of
  373. ─ 1 : DemoDialog;
  374. ─ 2 : VlastniDialog;
  375. ─ 3 : begin
  376. ╩ CzechYes := TRUE;
  377. ╩ PassYes := FALSE;
  378. ╩ InputRadek(150,150,'Jméno','',30);
  379. ╚ end;
  380.   end; {Case}
  381.  until VyberMenu = 0;
  382.  ZrusMenu;
  383. end;
  384.  
  385. procedure MenuKlavesnice(kam,kt:integer);
  386. begin
  387.  NoveMenu;
  388.  PolozkaMenu('Malé znaky ',1,'');
  389.  PolozkaMenu('Velké znaky ',1,'');
  390.  MenuLinka;
  391.  PolozkaMenu('Jak se pí┴τí ',1,'');
  392.  PolozkaMenu('Jak┴∞ font? ',1,'');
  393.  VytvorMenu;
  394.  OtevriMenu(kam,kt);─ 
  395.  repeat
  396.   VyberMenu := VolbaPolozky;
  397.   Case VyberMenu of
  398. ┼ 1 : begin
  399. ╦ SetSys.DirFileName := 'SYSTEM\KEYMIN.IMG';
  400. ╦ UkazObrazek(150,120);
  401. ╔ end;
  402. ┼ 2 : begin
  403. ╦ SetSys.DirFileName := 'SYSTEM\KEYCAP.IMG';
  404. ╦ UkazObrazek(150,120);
  405. ╔ end;
  406. ┼ 4 : begin
  407. ╦ VypisTextuXY(kam,kt,630,450,'hlp\klavesa.doc','1.1');
  408. ╔ end;
  409. ┼ 5 : begin
  410. ╦ VypisTextuXY(kam,kt,630,450,'hlp\klavesa.doc','1.2');
  411. ╔ end;
  412. ├ end;
  413.  until VyberMenu = 0;
  414.  ZrusMenu;
  415. end;
  416.  
  417. procedure MenuText(Kam,Kt:integer);
  418. begin
  419.   NoveMenu;
  420.   PolozkaMenu('V┴∞pisTextuXY',1,'');
  421.   PolozkaMenu('TextPlochaXY',1,'');
  422.   PolozkaMenu('TextOknoXY',1,'');
  423.   VytvorMenu;
  424.   OtevriMenu(Kam,Kt);
  425.   repeat
  426. ─ VyberMenu := VolbaPolozky;
  427. ─ Case VyberMenu of
  428. ╞ 1 : VypisTextuXY(IcoTl[3].X1,80,630,450,'DEMOPGU.PAS','');
  429. ╞ 2 : begin
  430. ╠ UlozPozadi(160,110,600,300,'TEMP\BATOLE.UND');
  431. ╠ NastavPlochu;
  432. ╠ TextPlochaXY(160,110,600,300,'DEMOPGU.PAS','');
  433. ╠ PlochaNastavena;
  434. ╠ PoziceMysiXY(300,160);
  435. ╠ TextPlochaXY(160,110,600,300,'DEMOPGU.PAS','');
  436. ╠ VratPozadi(160,110,600,300,'TEMP\BATOLE.UND');
  437. ╩ end;
  438. ╞ 3 : TextOknoXY(IcoTl[3].X1,80,620,400,'DEMOPGU.PAS','');
  439. ─ end;
  440.   until VyberMenu = 0;
  441.   ZrusMenu;
  442. end;
  443.  
  444.  
  445. Label EndProg;
  446. begin
  447.   if OvladacMysi then
  448.   begin
  449. ─ InitPGU;
  450. ─ UvodniPlocha('"DEMO PGU"',SubF,'LIPAL.FNP');
  451. ─ ObrazekIMB(4,27,'IMB\UHOR.IMB',0);
  452. ─ LoadSubF('SYSTEM\BONA.FNP');
  453.  
  454. ─ NahrajAppIni('DEMOPGU'); {Pokud bylo p┴²edtím uloºeno!}
  455.  
  456. ─ IkonaAplikaceXY(23,310,1,'APP\EDITFN.IMG',0,2,'Systémové fonty',15);
  457. ─ IkonaAplikaceXY(DatObr.PozX,310,2,'APP\EDITFN.IMG',0,2,'Nadpisové fonty',15);
  458. ─ IkonaAplikaceXY(DatObr.PozX,310,3,'APP\EDITICO1.IMG',0,2,'Ikonová tlaƒítka',15);
  459. ─ IkonaAplikaceXY(DatObr.PozX,310,4,'APP\EDITIKON.IMG',0,2,'Aplikaƒní ikony',15);
  460. ─ IkonaAplikaceXY(DatObr.PozX,310,5,'APP\EDITMOUS.IMG',0,2,'Grafické kurzory',15);
  461. ─ IkonaAplikaceXY(DatObr.PozX+10,310,6,'APP\VOKNA.IMG',0,2,'První demo',15);
  462. ─ IkonaAplikaceXY(DatObr.PozX,310,7,'APP\VOKNA.IMG',0,2,'Druhé demo',15);
  463. ─ NabidkovyPruhXY(14,37);
  464. ─ TextNabidky('Struktury',1,Pristupna);
  465. ─ TextNabidky('P┴²íkazy',1,Pristupna);
  466. ─ TextNabidky('Prom┴╪nné',1,Pristupna);
  467. ─ TextNabidky('Konstanty',1,Pristupna);
  468. ─ TextNabidky('P┴²íslu┴τenství',1,Pristupna);
  469. ─ VytvorNabidkovyPruh(7,15,Dole);
  470.  
  471. ─ NovaRadaIkonXY(370,33,'SADAICO');
  472. ─ IkonaRady('BOMBA','',Pristupna);
  473. ─ IkonaRady('OKNA','',Pristupna);
  474. ─ IkonaRady('DIALOG','',Pristupna);
  475. ─ IkonaRady('DTEXT','',Pristupna);
  476. ─ IkonaRady('STROM','',Pristupna);
  477. ─ IkonaRady('KALKULAC','',Pristupna);
  478. ─ IkonaRady('MYS','',Pristupna);
  479. ─ IkonaRady('VLAJKA','',Pristupna);
  480. ─ IkonaRady('INFO','',Pristupna);
  481. ─ VytvorRaduIkon;
  482.  
  483.  
  484. ─ TlacitkoIco(10,OknoMaxY-66,1,Nahore,'KONEC','ZVONEC');
  485. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,2,Nahore,'OKNA','OKNA');
  486. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,3,Nahore,'TEXT','DTEXT');
  487. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,4,Nahore,'ADRES╡┴ⁿE','STROM');
  488. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,5,Nahore,'Kalkulaƒka','KALKULAC');
  489. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,6,Nahore,'Práce s my┴τí','MYS');
  490. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,7,Nahore,'Klávesnice','VLAJKA');
  491. ─ TlacitkoIco(SetIcoTl.PozX,OknoMaxY-66,8,Nahore,'INFO','INFO');
  492. ─ ZapniMys;
  493. ─ repeat
  494. ╞ if LeveTlacitkoMysi then
  495. ╞ begin
  496. ╚ VypniMys;
  497. ╚ if PoziceAplikace(1) then
  498. ╚ begin
  499. ╩ DemoPlocha('IMB\EDITFN.IMB',
  500. ╙ 'Ukázka programu na tvorbu systémov┴∞ch fontà 8x14.');
  501. ╩ PuvodniAplikace(1);
  502. ╚ end;
  503. ╚ if PoziceAplikace(2) then
  504. ╚ begin
  505. ╩ DemoPlocha('IMB\EDITFONT.IMB',
  506. ╙ 'Ukázka programu na tvorbu nadpisov┴∞ch fontà 16x16.');
  507. ╩ PuvodniAplikace(2);
  508. ╚ end;
  509. ╚ if PoziceAplikace(3) then
  510. ╚ begin
  511. ╩ DemoPlocha('IMB\EDITICO1.IMB',
  512. ╙ 'Ukázka programu na tvorbu ikonov┴∞ch tlaƒítek 16x6.');
  513. ╩ PuvodniAplikace(3);
  514. ╚ end;
  515. ╚ if PoziceAplikace(4) then
  516. ╚ begin
  517. ╩ DemoPlocha('IMB\EDITIKON.IMB',
  518. ╙ 'Ukázka programu na tvorbu aplikaƒních ikon 36x36.');
  519. ╩ PuvodniAplikace(4);
  520. ╚ end;
  521. ╚ if PoziceAplikace(5) then
  522. ╚ begin
  523. ╩ DemoPlocha('IMB\EDITMOUS.IMB',
  524. ╙ 'Ukázka programu na tvorbu grafick┴∞ch kurzorà 8x8.');
  525. ╩ PuvodniAplikace(5);
  526. ╚ end;
  527. ╚ if PoziceAplikace(6) then
  528. ╚ begin
  529. ╩ DemoPlocha('IMB\DATALOG.IMB',
  530. ╙ 'První ukázka z programu DATALOG.');
  531. ╩ DemoPlocha('IMB\DATALOG2.IMB',
  532. ╙ 'Druhá ukázka z programu DATALOG.');
  533. ╩ PuvodniAplikace(6);
  534. ╚ end;
  535. ╚ if PoziceAplikace(7) then
  536. ╚ begin
  537. ╩ DemoPlocha('IMB\DONA.IMB',
  538. ╙ 'Demonstrace tvorby programu "Va┴²íme pro d┴╪ti".');
  539. ╩ PuvodniAplikace(7);
  540. ╚ end;
  541.  
  542. ╚ if PoziceTlacitkaIco(1) then
  543. ╚ begin
  544. ╩ NoveInfo;
  545. ╩ RadekInfo('Chcete skuteƒn┴╪ ukonƒit tento program?');
  546. ╩ RadekInfo('Pro ukonƒení klikn┴╪te na tlaƒítko "Ukonƒit",');
  547. ╩ RadekInfo('Pro pokraƒování klikn┴╪te na tlaƒítko "Pokraƒuj",');
  548. ╩ InfoOknoXY(150,200,' Ukonƒit',' Pokraƒuj','VARUJ.IMG');
  549. ╩ if KladnaVolba then Goto EndProg;
  550. ╩ PuvodniTlacitkoIco(1);
  551. ╚ end;
  552. ╚ if PoziceTlacitkaIco(2) then
  553. ╚ begin
  554. ╩ DemoOkna(IcoTl[2].X1,OknoMaxY-198);
  555. ╩ PuvodniTlacitkoIco(2);
  556. ╚ end;
  557. ╚ 
  558. ╚ if PoziceTlacitkaIco(3) then
  559. ╚ begin
  560. ╩ MenuText(IcoTl[3].X1,OknoMaxY-100);
  561. ╩ PuvodniTlacitkoIco(3);
  562. ╚ end;
  563. ╚ if PoziceTlacitkaIco(4) then
  564. ╚ begin
  565. ╩ VyberAdresare(IcoTl[4].X1,100);
  566. ╩ PuvodniTlacitkoIco(4);
  567. ╚ end;
  568. ╚ if PoziceTlacitkaIco(5) then
  569. ╚ begin
  570. ╩ Kalkulacka(IcoTl[5].X1,200);
  571. ╩ PuvodniTlacitkoIco(5);
  572. ╚ end;
  573. ╚ if PoziceTlacitkaIco(6) then
  574. ╚ begin
  575. ╩ VypisTextuXY(IcoTl[6].X1,80,630,450,'HLP\MOUSE.DOC','');
  576. ╩ PuvodniTlacitkoIco(6);
  577. ╚ end;
  578. ╚ if PoziceTlacitkaIco(7) then
  579. ╚ begin
  580. ╩ MenuKlavesnice(IcoTl[7].X1,OknoMaxY-140);
  581. ╩ PuvodniTlacitkoIco(7);
  582. ╚ end;
  583. ╚ if PoziceTlacitkaIco(8) then
  584. ╚ begin
  585. ╩ VypisNabidkuXY(IcoTl[8].X1,80,20,'HLP\INFO.DOC');
  586. ╩ PuvodniTlacitkoIco(8);
  587. ╚ end;
  588. ╚ if PoziceIkony(1) then
  589. ╚ begin
  590. ╩ NoveInfo;
  591. ╩ RadekInfo('Chcete skuteƒn┴╪ ukonƒit tento program?');
  592. ╩ RadekInfo('Pro ukonƒení klikn┴╪te na tlaƒítko "Ukonƒit",');
  593. ╩ RadekInfo('Pro pokraƒování klikn┴╪te na tlaƒítko "Pokraƒuj",');
  594. ╩ InfoOknoXY(150,200,' Ukonƒit',' Pokraƒuj','VARUJ.IMG');
  595. ╩ if KladnaVolba then Goto EndProg;
  596. ╩ PuvodniIkona(1);
  597. ╚ end;
  598. ╚ if PoziceIkony(2) then
  599. ╚ begin
  600. ╩ DemoOkna(PodIkonu,2);
  601. ╩ PuvodniIkona(2);
  602. ╚ end;
  603. ╚ if PoziceIkony(3) then
  604. ╚ begin
  605. ╩ DialogUkazka(PodIkonu,3);
  606. ╩ PuvodniIkona(3);
  607. ╚ end;
  608. ╚ if PoziceIkony(4) then
  609. ╚ begin
  610. ╩ MenuText(PodIkonu,4);
  611. ╩ PuvodniIkona(4);
  612. ╚ end;
  613. ╚ if PoziceIkony(5) then
  614. ╚ begin
  615. ╩ VyberAdresare(PodIkonu,5);
  616. ╩ PuvodniIkona(5);
  617. ╚ end;
  618. ╚ if PoziceIkony(6) then
  619. ╚ begin
  620. ╩ Kalkulacka(PodIkonu,6);
  621. ╩ PuvodniIkona(6);
  622. ╚ end;
  623. ╚ if PoziceIkony(7) then
  624. ╚ begin
  625. ╩ VypisTextuXY(PodIkonu,7,630,450,'HLP\MOUSE.DOC','');
  626. ╩ PuvodniIkona(7);
  627. ╚ end;
  628. ╚ if PoziceIkony(8) then
  629. ╚ begin
  630. ╩ MenuKlavesnice(PodIkonu,8);
  631. ╩ PuvodniIkona(8);
  632. ╚ end;
  633. ╚ if PoziceIkony(9) then
  634. ╚ begin
  635. ╩ VypisNabidkuXY(PodIkonu,9,20,'HLP\INFO.DOC');
  636. ╩ PuvodniIkona(9);
  637. ╚ end;
  638. ╚ if PoziceNabidky(1) then
  639. ╚ begin
  640. ╩ MenuStruktury;
  641. ╩ PuvodniNabidka(1);
  642. ╚ end;
  643. ╚ if PoziceNabidky(2) then
  644. ╚ begin
  645. ╩ MenuPrikazy;
  646. ╩ PuvodniNabidka(2);
  647. ╚ end;
  648. ╚ if PoziceNabidky(3) then
  649. ╚ begin
  650. ╩ VypisTextuXY(PodNabidku,3,630,450,'hlp\prom.doc','');
  651. ╩ PuvodniNabidka(3);
  652. ╚ end;
  653. ╚ if PoziceNabidky(4) then
  654. ╚ begin
  655. ╩ VypisTextuXY(PodNabidku,4,630,450,'hlp\cons.doc','');
  656. ╩ PuvodniNabidka(4);
  657. ╚ end;
  658. ╚ if PoziceNabidky(5) then
  659. ╚ begin
  660. ╩ MenuPrisl;
  661. ╩ PuvodniNabidka(5);
  662. ╚ end;
  663. ╚ ZapniMys;
  664. ╞ end;
  665. ╞ if PraveTlacitkoMysi then
  666. ╞ begin
  667. ╚ VypniMys;
  668. ╚ if PoziceAplikace(1) then PresunAplikace(1);
  669. ╚ if PoziceAplikace(2) then PresunAplikace(2);
  670. ╚ if PoziceAplikace(3) then PresunAplikace(3);
  671. ╚ if PoziceAplikace(4) then PresunAplikace(4);
  672. ╚ if PoziceAplikace(5) then PresunAplikace(5);
  673. ╚ if PoziceAplikace(6) then PresunAplikace(6);
  674. ╚ if PoziceAplikace(7) then PresunAplikace(7);
  675. ╚ if PoziceAplikace(8) then PresunAplikace(8);
  676. ╚ if PoziceAplikace(9) then PresunAplikace(9);
  677. ╚ ZapniMys;
  678. ╞ end;
  679. ─ until KonecSmycky;
  680. ─ VypniMys;
  681. ─ EndProg :
  682. ─ DisposePGU;
  683. ─ UlozAppIni('DEMOPGU');
  684.   end;
  685. end.