home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 July / Chip_2001-07_cd1.bin / ctenari / Cerny / INSTALLF.EXE / rar / FREETFB / DOC / GRAPHFBP.DOC < prev    next >
Text File  |  2001-05-06  |  18KB  |  433 lines

  1. ~16|0|05 Pⁿ╓KAZY A FUNKCE
  2. ~16|0|05 JEDNOTKY "GraphFBP":
  3.  
  4. ~16|0|09 1.0   ⁿ╓D╓C╓ JEDNOTKA "GraphFBP"
  5.  
  6. ~16|0|05    < B >
  7.  
  8.  |1|09 B.2  BmgToArea(X1,Y1,X2,Y2,MaxX,MaxY,'NAME.BMG',TV,BP);
  9.   Vyplní plochu dle parametrà X1,Y1,X2 a Y2 obrázkem formátu BMG.
  10.   Parametr MaxX urƒuje maximální Xovou hranici, po kterou smí b∞t
  11.   obrázek opakovan╪ vykreslován. Obdobnou funkci plní parametr
  12.   MaxY. Parametrem TV màºeme urƒit typ zobrazení obrázku a p²ípadn╪
  13.   v této souvislosti zm╪nit barvu pozadí obrázku.
  14.  
  15. ~16|0|05    < C >
  16.  
  17. ~16|0|05    < D >
  18.  |1|09 D.1   DisposeFB;
  19.  Nastaví zp╪t pàvodní textov∞ reºim, uvolní alokované pam╪£ové
  20.  buσky, a zruτí v podadresá²i TEMP vτechny soubory s koncovkou
  21.  UND a .DTA, které vytvo²ily jednotky p²i ukládání pozadí
  22.  (.UND) a p²i p²evodu textov∞ch souborà pro v∞pis (.DTA).
  23.  
  24.  |1|09 D.2  DrawRectangle(X1,Y1,X2,Y2,Barva);
  25.   Vykreslí rámeƒek na zadan∞ch pozicích a zadan∞ch rozm╪rech
  26.   a zadanou barvou. P²ed voláním této funkce lze pouºít také
  27.   funkci SetLineType. Po provedení je vτak nutné op╪t urƒit
  28.   pàvodní SetLineType, kter∞m byl p²ed voláním DrawRectangle.
  29.  
  30. ~16|0|05    < E >
  31.  |1|09 E.1  EndLoop;
  32.   Pouºívá se pro uzav²ení cyklu repeat...until v ƒásti
  33.   programu, která je obsluhována myτí. Pokud za p²íkazem until
  34.   pouºijeme tuto funkci, cyklus bude stále uzav²en.
  35.   Pro opuτt╪ní cyklu musíme pouºít p²íkaz GOTO nebo stisknutí
  36.   prost²edního tlaƒítka myτi (stejn∞ efekt nastane stikem
  37.   levého a pravého tlaƒítka myτi souƒasn╪).
  38.   P²íklad:
  39.  |0|09 :Loop>
  40.  |0|09  if LeftMousButton part
  41.  |0|09   if PosCursor(10,80,200,220) From EndProg;
  42.  |0|09  :if<
  43.  |0|09 :loop< EndLoop;
  44.  
  45.  |1|09 E.2 ErrInfoLine('TlaƒítkoTRUE','TlaƒítoFALSE',
  46.  |1|09                  '²et╪zec');
  47.   Pro ràzná krátká hláτení o dalτím postupu programu nebo
  48.   vznikl∞ch chybách lze vyuºít spodního dialogového ²ádku.
  49.   P²edpokladem vτak je, ºe program byl zapoƒat p²íkazem
  50.   OpeningArea. Do této funkce nejprve uvedeme obsah levého
  51.   (TRUE) tlaƒítka, obsah pravého (FALSE) tlaƒítka a text
  52.   pot²ebného hláτení. Pokud bude v programu zvoleno první
  53.   tlaƒítko za textem, zapíτe se do prom╪nné ChoicePositive
  54.   hodnota TRUE. P²i volb╪ druhého tlaƒítka se zapíτe FALSE.
  55.   V programu pak tuto situaci ²eτíme následovn╪:
  56.  |1|09  ErrInfoLine('Ukonƒit','Opakovat',
  57.  |1|09              'Tiskárna nekomunikuje!');
  58.  |1|09  if ChoicePositive From Konec else ....
  59.  
  60.  |1|05 E.3 ErrFileInfoLine(Soubor);
  61.     Zjiτ£uje existenci souboru. Pokud tomu tak není, vypíτe
  62.  chybové hláτení do spodního informaƒního ²ádku dopln╪né
  63.  tlaƒítkem "Budiº".
  64.  P²íklad:
  65.    |0|09variable~
  66.    |0|09  text~ft;
  67.    |0|09Main Nahraj(Soubor:string);
  68.    |1|09DefFrom Chyba;
  69.    |0|09:>proc>
  70.    |1|09  if ErrInfoLine(Soubor) from Chyba;
  71.    |0|09  OpenF(ft,Soubor);
  72.    |0|09  .....
  73.    |0|09  Close(ft);
  74.    |1|09  @Chyba<
  75.    |0|09:<proc<
  76.  
  77. ~16|0|05    < F >
  78.  
  79.  |1|09 F.4  FillArea(X1,Y1,X2,Y2,Barvou);
  80.   V podstat╪ vytvo²í plochu na uveden∞ch pozicích o zadan∞ch
  81.   rozm╪rech a barvou.
  82.  
  83.  |1|09 F.5  FillInfoLine;
  84.   Pokud pot²ebujeme uvolnit spodní informaƒní ²ádek, ve kterém
  85.   se nalézá informace, která jiº neplatí, pouºijeme tuto
  86.   funkci.
  87.  
  88.  |1|09 F.6  FillPattern(X1,Y1,X2,Y2,Barva);
  89.   Vykreslí vzor na uvedn∞ch pozicích o zadan∞ch rozm╪rech
  90.   a zadanou barvou.
  91.  
  92. ~16|0|05    < G >
  93.  |1|05 G.1  GetLmgSize('Soubor.LMG');
  94.   Zjistí rozm╪r obrázku typu .LMG. Tato funkce je vhodná
  95.   nap². v p²ípad╪, ºe vedle obrázku bude umíst╪na n╪jaká dalτí
  96.   plocha nebo text ap., Abychom zjistili od jaké pozice màºe
  97.   dalτí plocha nebo text následovat vyuºijeme záznamu v
  98.   prom╪nné SizeX = τí²ka obrázku a SizeY = hloubka
  99.   obrázku. Chceme-li nap²íklad pod obrázek umístit text
  100.   uƒiníme to následovn╪:
  101.   P²íklad:
  102.  |0|09  GetLmgSize('KRAJINA.LMG');
  103.  |0|09  LoadLmg(10,50,'KRAJINA.LMG',0);
  104.  |0|09  TextGraphXY(10,50+SizeY,0,SysF,
  105.  |0|09             'Pohled na zasn╪ºené chaloupky.',DBlue);
  106.  
  107.  |1|09 G.2  GetBmgSize('Soubor.BMG');
  108.   Zjistí rozm╪r obrázku typu .BMG. Tato funkce je vhodná
  109.   nap². v p²ípad╪, ºe vedle obrázku bude umíst╪na n╪jaká
  110.   dalτí plocha nebo text ap., Abychom zjistili od jaké pozice
  111.   màºe dalτí plocha nebo text následovat vyuºijeme záznamu v
  112.   prom╪nné SizeX = τí²ka obrázku a SizeY = hloubka
  113.   obrázku. Chceme-li nap²íklad pod obrázek umístit text
  114.   uƒiníme to následovn╪:
  115.   P²íklad:
  116.  |0|09  GetBmgSize('KRAJINA.BMG');
  117.  |0|09  LoadBmg(10,50,0,'KRAJINA.BMG',0,0);
  118.  |0|09  TextGraphXY(10,50+SizeY,0,SysF,
  119.  |0|09             'Pohled na zasn╪ºené chaloupky.',DBlue);
  120.  
  121.  |1|09 G.4  GetPicture(X1,Y1,X2,Y2,Pam╪£);
  122.   Obdoba pàvodní funkce GetImage(X1,Y1,X2,Y2,Pam^) s tím
  123.   rozdílem, ºe u prom╪nné typu Pointer (Pam) neuvádíme znak
  124.   pro ^ (Pointer):
  125.       GetPicture(X1,Y1,X2,Y2,Pam).
  126.  
  127.  |1|09 G.5   GetPointXY(X,Y);
  128.  Zjiτ£uje barvu bodu (pixelu) na obrazovce na uvedené pozici
  129.  X a Y. Zjiτt╪nou hodnotu vrací jako WORD. Je to obdoba
  130.  pàvodní funkce GetPixel.
  131.  
  132.  |1|09 G.6   GraphDriveName
  133.   Náhrada pàvodní funkce GetDriveName. Pouºití je shodné.
  134.  
  135. ~16|0|05    < Ch > 
  136.  
  137. ~16|0|05    < I >
  138.  
  139.  |1|09 I.1  InitFB;
  140.   Nastaví grafick∞ reºim 800x600 bodà. P²ítomen musí b∞t
  141.   grafick∞ ovladaƒ (svgatfb .BGI). Dále nastaví dàleºité 
  142.   prom╪nné na poƒáteƒní hodnoty, nainstaluje systémov∞ a 
  143.   nadpisov∞ font.
  144.   Protoºe vτechny jednotky jsou obsluhovány zásadn╪ myτí,
  145.   zjistí zda je instalován ovladaƒ myτi, pokud tomu tak není
  146.   nebude instalace úplná a màºe dojít k "zamrznutí" programu!
  147.  
  148.  |1|09 I.2 InstallUserPalette(pal,'JMENO.PAL');
  149.     Tento p²íkaz nahraje a nainstaluje paletu ze souboru, jehoº
  150.  jméno bylo uvedeno v uvozovkách. Pokud soubor nenajde, nebude
  151.  nahrán ani instalován.
  152.  
  153. ~16|0|05    < K >
  154.  
  155. ~16|0|05    < L >
  156.  
  157.  |1|09 L.1   LenSysF('²et╪zec');
  158.  |1|09 L.1   LenSubF('²et╪zec');
  159.  Jednotky TPFAST pracují se dv╪ma typy proporcionálního písma.
  160.  Systémové písmo resp. SysF je velikosti maximáln╪ 8 x 14 bodà
  161.  a druhé tzv.nadpisové písmo resp. SubF je velikosti maximáln╪
  162.  16 x 16 bodà. Kaºdá tato sada je uloºena v rozdílném datovém
  163.  poli. Písma SysF jsou ukládána jako byte, písma typu SubF
  164.  jsou typu word. Jelikoº kaºd∞ znak má jinou τí²ku, musí b∞t
  165.  pro p²ípad pot²eby zjiτt╪ní skuteƒné délky ²et╪zce m╪²ena
  166.  v poƒtech bodà, které odpovídají τí²ce kaºdého znaku.
  167.  Zjiτt╪nou délku ²et╪zce vrátí jako ƒíslo vyjad²ující
  168.  skuteƒnou délku ²et╪zce v grafick∞ch bodech.
  169.  
  170.  |1|09 L.2  LineDraw(X1,Y1,X2,Y2,Barva);
  171.   Nahrazuje pàvodní p²íkaz Line. Pouºití je shodné s tím
  172.   rozdílem, ºe lze pouºít urƒení barvy linky - 0 aº 15.
  173.  
  174.  |1|09 L.3  LmgToArea(X1,Y1,X2,Y2,MaxX,MbaxY,'NAME.LMG',TV,BP);
  175.   Vyplní plochu dle parametrà X1,Y1,X2 a Y2 obrázkem formátu LMG.
  176.   Parametr MaxX urƒuje maximální Xovou hranici, po kterou smí b∞t
  177.   obrázek opakovan╪ vykreslován. Obdobnou funkci plní parametr
  178.   MaxY. Parametrem TV màºeme urƒit typ zobrazení obrázku a p²ípadn╪
  179.   v této souvislosti zm╪nit barvu pozadí obrázku.
  180.  
  181.  |1|09 L.4  LoadArea(X1,Y1,'Soubor .UND',TV);
  182.   Vrátí zp╪t na plochu obrazovky prve uloºenou plochu
  183.   p²íkazem SaveArea. Soubor pro vrácení musí mít stejn∞
  184.   název a stejné rozm╪ry levého horního rohu jako prve
  185.   uloºen∞ soubor. Pokud má koncovku .UND bude tento soubor
  186.   po vrácení na obrazovku automaticky smazán. Parametr TV
  187.   urƒuje typ vykreslení plochy (viz. konstanty a prom╪nné)
  188.  
  189.  |1|09 L.5  LoadSysF('soubor.FND');
  190.   Nainstaluje zvolen∞ systémov∞ font. Fonty jsou vytvá²eny
  191.   programem EditFn, kter∞ je souƒástí programovacího balíku.
  192.   Tyto soubory mají koncovku FND.
  193.  
  194.  |1|09 L.6 LoadSubF('soubor.FNP');
  195.   Nainstaluje zvolen∞ nadpisov∞ font. Fonty jsou vytvá²eny
  196.   programem EditFont, kter∞ je souƒástí programovacího balíku.
  197.   Tyto soubory mají koncovku FNP.
  198.  
  199.  |1|09 L.7 LoadConF('soubor.FND');
  200.  Nainstaluje zvolen∞ neproporcionální font velikosti 7x14 bodà.
  201.  Standartn╪ je nahráván font CONSUL.FND. Lze vytvo²it nebo
  202.  upravit vlastní v programu EditFn.
  203.  
  204.  |1|09 L.8 LoadLmg(X,Y,'Soubor .LMG',TypZobrazení,BP);
  205.   Nainstaluje a vykreslí obrázek typu .LMG. Lev∞ horní roh
  206.   obrázku bude na pozici X a Y. Obrázek bude vykreslen podle
  207.   zadaného typu (Typ) bu╘to normáln╪, inverzn╪, pràhledn╪
  208.   a nebo se zm╪nou barev. Parametr BP urƒuje barvu plochy na
  209.   které bude obrázek vykreslen. Základní hodnota je nula, jinak
  210.   se tento parametr uvádí pouze ve spojitosti s typem zobrazení.
  211.  |1|05  Obrázek smí mít maximální velikost 64kB!
  212.  
  213.  |1|05 L.9  LoadBmg(X,Y,MaxY,'Soubor.BMG',TypZobrazení,BP);
  214.   Nainstaluje a vykreslí obrázek typu .BMG (BigImageGraphics).
  215.   Protoºe pascalovská funkce PutImage dovoluje vykreslit
  216.   (a GetImage uloºit) obrázek pouze do velikosti 64kB, byl
  217.   vyvynut tento nov∞ formát, kter∞ je sice stejného typu,
  218.   ale màºe mít velikost aº celé obrazovky. Lev∞ horní roh
  219.   obrázku bude na pozici X a Y. Obrázek bude vykreslen podle
  220.   zadaného typu (Typ) bu╘to normáln╪, inverzn╪, pràhledn╪ a
  221.   nebo se zm╪nou barev. Pokud se v této souvislosti uvede
  222.   jako parametr BP i barva plochy, dojde tím k zajímavému
  223.   efektu zobrazení obrázku. Jinak se parametr BP zadává
  224.   hodnotou nula. Parametr MaxY umoºσuje urƒit maximální
  225.   Yovou pozici pro vykreslení obrázku. Pokud má b∞t zachována
  226.   pàvodní velikost obrázku, uvedeme za parametr MaxY hodnotu
  227.   nula.
  228.   P²íklad vykreslení obrázku ve své originální podob╪:
  229.   |0|09LoadBmg(4,27,0,'BMG\KRAJINA.BMG',0,0);
  230.   P²íklad vykreslení obrázku se zm╪nou typu vykrelsení:
  231.   |0|09LoadBmg(4,27,0,'BMG\KRAJINA.BMG',2,1);
  232.   P²íklad vykreslení obrázku se zm╪nou jeho velikosti:
  233.   |0|09LoadBmg(4,27,350,'BMG\KRAJINA.BMG',0,0);
  234.  
  235. ~16|0|05    < N >
  236.  
  237. ~16|0|05    < O >
  238.  
  239.  |1|09  O.1  OpeningOptional('ICO.LMG','Hlaviƒka',TF,'FONT.FND');
  240.   Vytvo²í základní (úvodní) plochu o rozm╪ru 800x600 bodà. Do levého
  241.   horního rohu je moºné umístit ikonu 16x16b. Parametr TF urƒuje
  242.   typ fontu pro v∞pis hlaviƒky plochy, kter∞ màºe b∞t SysF (písmo
  243.   8x16) nebo SubF (písmo 16x16). Pro typ SysF se pouºije font, kter∞
  244.   má koncovku .FND a pro SubF s koncovkou .FNP.
  245.  
  246.   |1|09 O.2 OptionalArea(Stav,X,Y,X2,Y2,SS,TS,BP);
  247.   Vytvo²í plastickou plochu o zadan∞ch rozm╪rech X,Y,X2,Y2. Barevné
  248.   provedení plochy bude podle parametrà SS = sv╪tl∞ stín, TS = tmav∞
  249.   stín a BP = barva plochy. Parametr stav urƒuje, zda bude plocha
  250.   promáƒklá = Active, nebo vystouplá = NoActive.
  251.  
  252. ~16|0|05    < P >
  253.  
  254.  |1|09 P.2  PictureSize(X1,Y1,X2,Y2);
  255.   Nahrazuje pàvodní funkci ImageSize a pouºívá se stejn∞m
  256.   zpàsobem.
  257.  
  258.  |1|09 P.3  PosCursor(MinX,MaxX,MinY,MaxY)
  259.   Zjiτ£uje zda se kurzor nalézá v uvedené oblasti. Uvádí se
  260.   minimum a maximum horizontáln╪ a vertikáln╪. Pokud tomu tak
  261.   je, nab∞vá tato funkce hodnotu TRUE.
  262.   Pouºití:
  263.  |0|09   if PosCursor(120,190,200,220) ....
  264.  
  265.  |1|09 P.4  PutPicture(X,Y,Pam╪£,TypZobrazení);
  266.   Obdoba pàvodni funkce PutImage, uvádí se :
  267.                PutPicture(X,Y,Pam,0);
  268.   Jako typ màºe b∞t uvedena hodnota 0 aº 4.
  269.  
  270. ~16|0|05    < S >
  271.  |1|09 S.1  SaveArea(X1,Y1,X2,Y2,'Soubor .UND');
  272.   Tato funkce uloºí plochu obrazovky o zadan∞ch rozm╪rech
  273.   jako soubor typu LMG. Pokud si nep²ejeme aby tento soubor
  274.   po skonƒení zàstal na disku, umístíme ho do podadresá²e
  275.   TEMP s koncovkou .UND. P²íkaz DisposePGU na konci programu
  276.   pak vτechny soubory s koncovkou .UND v podadresá²i TEMP
  277.   smaºe.
  278.  |1|05 POZOR! Nepouºívejte tento p²íkaz pokud si nejste jisti,
  279.  |1|05 ºe ukládaná plocha není v╪tτí neº 64kb. Pro v╪tτí plochy
  280.  |1|05 rad╪ji pouºijte následující funkci.
  281.  
  282.  |1|09 S.2  SaveBmg(X1,Y1,X2,Y2,'Soubor.BMG');
  283.   Uloºí obrázek typu BigMagicGraphics, tzn., ºe jeho rozm╪ry
  284.   mohou dosahovat plochy celé obrazovky (800x600bodà).
  285.   Pokud p²íkaz pouºijete pro doƒasné uloºení p²ekr∞vané
  286.   plochy, uve╘te koncovku souboru .UND a soubor uloºte do
  287.   podadresá²e TEMP. Po ukonƒení vaτeho programu bude tento
  288.   soubor smazán.
  289.  
  290.   |1|09 S.3 SaveUserPalette(pal,'JMENO.PAL');
  291.     Parametr pal je povinn∞ a musí b∞t vºdy uveden. Do uvozovek
  292.   uvedeme název souboru palety s koncovkou .PAL.
  293.  
  294.  |1|09 S.6  SetMargin(MaxX);
  295.   Pokud poºadujeme omezit v∞pis textu jen na urƒitou hranici,
  296.   màºeme pouºít tento p²íkaz. Text nebude za nastavenou
  297.   hranici vypisován.
  298.  
  299.  |1|09 S.8   SetPointXY(X,Y,Barva);
  300.  Vykreslí bod na obrazovce, na pozici X,Y uvedenou barvou.
  301.  Je to obdoba pàvodního p²íkazu PutPixel.
  302.  
  303.  |1|09 S.9  SetLineType(Ln,N,Dw);
  304.   Obdoba pàvodní funkce SetLineStyle nastaví zpàsob kreslení
  305.   ƒar. Platí pro vτechny funkce, které kreslí ƒáry (tlaƒítka,
  306.   rámeƒky, linky atd.) Pouºití je shodné.
  307.      Ln = 0 plná ƒára,
  308.      Ln = 1 teƒkovaná ƒára,
  309.      Ln = 2 ƒerchovaná ƒára,
  310.      Ln = 3 ƒárkovaná ƒára,
  311.      Dw = 1 normální ƒára,
  312.      Dw = 3 tuƒná ƒára.
  313.      Parametr N se pouºívá p²i vlastní definici ƒáry, jinak
  314.   se uvádí 0;
  315.  
  316.  |1|09 S.10 SetFixTfb(MlSec);
  317.     Protoºe kompilátor TFBPro byl pàvodn╪ urƒen pro poƒítaƒe
  318.  s procesorem 386, zrychluje ƒinnost aplikace ve formátu .exe
  319.  tak, aby byla srovnatelná s aplikací vytvo²ené ve strojím
  320.  kódu. |1|12Tato jeho dobrá vlastnost se vτak nep²ízniv╪ projevuje
  321.  |1|12na poƒítaƒích s rychlejτím procesorem od 486 a v∞τe (100MHz,
  322.  |1|12200MHz a v∞τe). |0|12Standartn╪ je v p²íkazu InitFB nastaveno
  323.  ƒekání na |1|1250 milisekund. |0|12Tento p²íkaz zjiτ£uje typ
  324.  procesoru poƒítaƒe, na kterém je aplikace spuτt╪na, a pokud
  325.  je procesor vyττí neº 386 |1|12násobí tuto hodnotu 5 krát, |0|12coº
  326.  je tady 250 milisekund. Màºe se stát, ºe tato hodnota
  327.  nebude optimální pro danou aplikaci. V takovém p²ípad╪
  328.  umístíme do aplikace |1|12hned za p²íkaz InitFB |0|12tento p²íkaz
  329.  |1|09SetFixTfb |0|12s pot²ebnou hodnotou, kterou uvádíme ve standartní
  330.  velikosti (nap². 100, nap².200 nebo 400 apod.), která pak
  331.  |1|12bude |0|12tímto p²íkazem |1|125 krát zv∞τena.
  332.  
  333.  
  334. ~16|0|05    < T >
  335.  
  336.  |1|09 T.1 TextGraphXY(X,Y,Typ,TypFontu,'²et╪zec',
  337.  |1|09                  BarvaPísma);
  338.   Vypíτe ²et╪zec na pozici X,Y.
  339.   Jako typ se uvádí: 0 = normální písmo, nebo 1 = tuƒné písmo.
  340.   Typ fontu màºe b∞t SysF tj. systémov∞ font velikosti 8x14,
  341.   nebo ConF neproporcionální typ fontu o velikosti 7x14 bodà,
  342.   nebo SubF tj. nadpisov∞ velikosti 16x16 bodà. Barva písma
  343.   màºe b∞t zadána uvedením názvu barvy podle tabulky barev
  344.   palety základních barev TFBPro, nebo ƒíslenou hodnotou
  345.   od 240 do 256. Do textu màºe b∞t umíst╪na ikona velikosti
  346.   16 aº 47 bodà na τí²ku a 16 bodà na v∞τku. Uvádí se cesta
  347.   k ikon╪ a její jméno bez p²ípony .LMG, kterou si funkce
  348.   doplní sama. Tento údaj musí b∞t uzav²en do speciálních
  349.   znakà, pro tento úƒel vytvo²en∞ch ùCESTA\JMENOù. Tento
  350.   znak vypíτete stiskem klávesy ALT a zadáním ƒísel (za
  351.   souƒasného drºení kl. ALT) 2,5, a 1  (251).
  352.   P²íklad:
  353.  |0|09    TextGraphXY(10,100,0,SysF,²et╪zec,White);
  354.       ²et╪zec bude vypsán normálním systémov∞m písmem a bílou
  355.       barvou,
  356.  |0|09    TextGraphXY(10,100,1,SubF,'ùSYSTEM\BOMBAù Ukonƒí',DBlue);
  357.       ²et╪zec bude vypsán tuƒn∞m nadpisov∞m písmem modrou
  358.       barvou, a p²ed textem bude ikona BOMBA.LMG z podadresá²e
  359.       SYSTEM.
  360.  
  361. ~16|0|05    < W >
  362.  
  363.  |1|09 W.1  WinOptional(PlYes,TlEsc,X1,Y1,X2,Y2,
  364.  |1|09                  'ICO.LMG','Hlaviƒka',BP);
  365.   Za parametr PlYes dosadíme hodnotu Area, pokud nebudeme urƒovat
  366.   vlastní barvu vnit²ní plochy okna (v tomto p²ípad╪ uvedeme jako
  367.   parametr BP hodnotu 0) nebo Overlap a jako parametr BP uvedem
  368.   ƒíslo barvy pro vnit²ní plochu okna. Parametr TlEsc vyjad²uje,
  369.   zda má b∞t okno vybaveno tlaτítkem ESC pro opuτt╪ní okna.
  370.   Uvádí se parametr ESC nebo NoEsc. Pokud uvedeme ESC musíme
  371.   obslouºit toto tlaƒítko funkcí if PosEsc .... v sekvenci, ve
  372.   které bylo okno aktivováno. Pokud toto okno vybavíme vlastními
  373.   funkcemi, nap². tlaƒítky, které uzavírají okno za dan∞ch
  374.   podmínek, rad╪ji toto tlaƒítko nepouºijeme. Dále uvedeme rozm╪ry
  375.   okna. P²ed hlaviƒku okna màºe b∞t umíst╪na ikona 16x16b, jejíº
  376.   název se uvede i s cestou (pokud je odliτná) a úpln∞m názvem
  377.   obrázku LMG. Do dalτích uvozovek uvedme text hlaviƒky okna.
  378.  
  379.  |1|09 W.2  WinChoiceXY(X,Y,'ICO.LMG','TlaƒítkoTRUE',
  380.  |1|09                  'TlaƒítkoFALSE','²et╪zec');
  381.   Jiº z názvu je z²ejmé, ºe se tato procedura pouºije v
  382.   p²ípad╪, kdy je t²eba nabídnout uºivateli dalτí moºnost v
  383.   postupu programu. Nap²íklad p²i uzav²ení jedné jeho ƒásti
  384.   lze nabídnout volbu pro pokraƒování, uzav²ení, opravu a pod.
  385.   Lev∞ horní roh okna bude na pozici X a Y. Text prvního
  386.   tlaƒítka musí vyjad²ovat kladnou odpov╪╘. Volba tlaƒítek je
  387.   vyhodnocena do prom╪nné ChoicePositive. Kliknutím na levé
  388.   (první) tlaƒítko získá tato prom╪nná hodnotu TRUE a kliknutím
  389.   na pravé (druhé) tlaƒítko hodnotu FALSE. Lze pouºít i jen
  390.   jednoho tlaƒítka. V takovém p²ípad╪ místo textu druhého
  391.   tlaƒítka uvedeme pouze prázdné uvozovky. Pokud za parametr
  392.   ICO.LMG dosadíte skuteƒn∞ název ikony 16x16b formátu LMG, bude
  393.   ikona umíst╪na p²ed textem hlaviƒky okna.
  394.   Za text druhého tlaƒítka umístíme krátkou informaci (doporuƒ.
  395.   max. 40 znakà).
  396.   P²íklad:
  397.  |0|09  if PosCursor(60,150,200,240) part
  398.  |0|09    WinChoiceXY(150,200,'BOMBA.LMG','Ukonƒit','Pokraƒovat',
  399.  |0|09                'Chcete ukonƒit program?');
  400.  |0|09    if ChoicePositive From EndProgram;
  401.  |0|09    ....;
  402.  |0|09  :if<
  403.   Nebo:
  404.  |0|09  if PosCursor(60,150,200,240) part
  405.  |0|09    WinChoiceXY(150,200,'VARUJ.LMG',' Budiτ ','',
  406.  |0|09                'Tiskárna nekomunikuje.');
  407.  |0|09    From EndProgram;
  408.  |0|09    ....;
  409.  |0|09  :if<
  410.  
  411.  |1|09 W.3  WriteInfoLine('²et╪zec');
  412.   Pokud byla na poƒátku programu pouºita procedura
  413.   OpeningArea, je moºné tuto funkci pouºívat pro struƒné
  414.   informace urƒené obsluze programu. Informace je vypisována
  415.   do spodního informaƒního ²ádku. Pokud nemá b∞t tato
  416.   informace trvale nebo delτí dobu vypsána, pouºijeme
  417.   nap²íklad bu╘to po Pause(1000) p²íkaz FillInfoLine nebo
  418.   jej umístíme p²ed volání následující procedury. Jinak bude
  419.   tento ²ádek automaticky smazán p²i dalτím pouºití programem.
  420.   Do textu màºe b∞t umíst╪na ikona velikosti 16 aº 47 bodà
  421.   na τí²ku a 16 bodà na v∞τku. Uvádí se cesta k ikon╪
  422.   a její jméno bez p²ípony .LMG, kterou si funkce doplní
  423.   sama. Tento údaj musí b∞t uzav²en do speciálních znakà,
  424.   pro tento úƒel vytvo²en∞ch ùCESTA\JMENOù. Tento znak
  425.   vypíτete pomocí klávesy ALT a zadáním ƒísla 251.
  426.   
  427.   P²íklad:
  428.  |0|09 WriteInfoLine('Ukládám soubor "ADRESY.DTA" na C:\ADRESAR');
  429.  |0|09 UlozeniSouboru;
  430.  |0|09 FillInfoLine;
  431.  
  432.  
  433.