home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / tema / sgp / vyber / baltcalc / BALTCALC.SGP < prev   
Text File  |  1998-02-23  |  68KB  |  1,631 lines

  1. SGPC   5.00 S#400000  3.08.1996 13:50:46                                        StructNo26  26
  2. ; 23.3.98 - upraveno pro verzi 5.01
  3.  
  4. # include <sgpbalt.h>
  5.  
  6. /***** definice globálních konstant *****/
  7.  
  8. /* typy operací */
  9. #define ªádná                      0
  10. #define Mínus                      1
  11. #define Plus                       2
  12. #define D╪leno                     3
  13. #define Krát                       4
  14.  
  15. /* rozm╪ry tlaƒítka */
  16. #define µí²kaTlaƒítka             37
  17. #define V∞τkaTlaƒítka             23
  18.  
  19. /* sou²adnice */
  20. #define XOfsetKurzoru             -9
  21. #define YOfsetKurzoru             -2
  22. #define XKalk                     17
  23. #define YKalk                     80
  24. #define XDispleje          XKalk+  9
  25. #define YDispleje          YKalk+ 19
  26. #define XMDispleje         XKalk+  9
  27. #define YMDispleje         YKalk+  8
  28. #define XStartKurzoru      XKalk+192
  29. #define YStartKurzoru      YKalk+120
  30. #define X1Kurzoru          XKalk+ 29
  31. #define Y1Kurzoru          YKalk+ 60
  32. #define X2Kurzoru          XKalk+251
  33. #define Y2Kurzoru          YKalk+185
  34. #define XTlaƒítkaLED       XKalk+  9
  35. #define YTlaƒítkaLED       YKalk+ 47
  36. #define XTlaƒítkaBack      XKalk+ 74
  37. #define YTlaƒítkaBack      YKalk+ 47
  38. #define XTlaƒítkaMC        XKalk+114
  39. #define YTlaƒítkaMC        YKalk+ 47
  40. #define XTlaƒítkaC         XKalk+154
  41. #define YTlaƒítkaC         YKalk+ 47
  42. #define XTlaƒítkaAC        XKalk+194
  43. #define YTlaƒítkaAC        YKalk+ 47
  44. #define XTlaƒítkaOFF       XKalk+234
  45. #define YTlaƒítkaOFF       YKalk+ 47
  46. #define XTlaƒítkaKƒ        XKalk+  9
  47. #define YTlaƒítkaKƒ        YKalk+ 72
  48. #define XTlaƒítkaZnaménko  XKalk+ 74
  49. #define YTlaƒítkaZnaménko  YKalk+ 72
  50. #define XTlaƒítkaMR        XKalk+114
  51. #define YTlaƒítkaMR        YKalk+ 72
  52. #define XTlaƒítkaMPlus     XKalk+154
  53. #define YTlaƒítkaMPlus     YKalk+ 72
  54. #define XTlaƒítkaMMínus    XKalk+194
  55. #define YTlaƒítkaMMínus    YKalk+ 72
  56. #define XTlaƒítkaSqrt      XKalk+234
  57. #define YTlaƒítkaSqrt      YKalk+ 72
  58. #define XTlaƒítka7         XKalk+114
  59. #define YTlaƒítka7         YKalk+ 97
  60. #define XTlaƒítka8         XKalk+154
  61. #define YTlaƒítka8         YKalk+ 97
  62. #define XTlaƒítka9         XKalk+194
  63. #define YTlaƒítka9         YKalk+ 97
  64. #define XTlaƒítkaD╪leno    XKalk+234
  65. #define YTlaƒítkaD╪leno    YKalk+ 97
  66. #define XTlaƒítka4         XKalk+114
  67. #define YTlaƒítka4         YKalk+122
  68. #define XTlaƒítka5         XKalk+154
  69. #define YTlaƒítka5         YKalk+122
  70. #define XTlaƒítka6         XKalk+194
  71. #define YTlaƒítka6         YKalk+122
  72. #define XTlaƒítkaKrát      XKalk+234
  73. #define YTlaƒítkaKrát      YKalk+122
  74. #define XTlaƒítka1         XKalk+114
  75. #define YTlaƒítka1         YKalk+147
  76. #define XTlaƒítka2         XKalk+154
  77. #define YTlaƒítka2         YKalk+147
  78. #define XTlaƒítka3         XKalk+194
  79. #define YTlaƒítka3         YKalk+147
  80. #define XTlaƒítkaMínus     XKalk+234
  81. #define YTlaƒítkaMínus     YKalk+147
  82. #define XTlaƒítka0         XKalk+114
  83. #define YTlaƒítka0         YKalk+172
  84. #define XTlaƒítkaTeƒka     XKalk+154
  85. #define YTlaƒítkaTeƒka     YKalk+172
  86. #define XTlaƒítkaRovnítko  XKalk+194
  87. #define YTlaƒítkaRovnítko  YKalk+172
  88. #define XTlaƒítkaPlus      XKalk+234
  89. #define YTlaƒítkaPlus      YKalk+172
  90.  
  91. /* parametry displeje */
  92. #define PoƒetMístDispleje         12
  93. #define OdstupZnakà               20
  94.  
  95. /* druhy displeje */
  96. #define LCD                        0
  97. #define LED                        1
  98.  
  99. /* rozm╪ry displejà */
  100. #define µí²kaDispleje            262
  101. #define V∞τkaDispleje             24
  102. #define µí²kaMDispleje           145
  103. #define V∞τkaMDispleje            11
  104.  
  105. #define NulováHodnota         "            0."
  106.  
  107. /***** definice globálních typà *****/
  108. typedef struct {   TypAnimP²edm╪t Obj;
  109.                    int X, Y, Hodnota;
  110.                } TypAObjekt;
  111.  
  112. /***** deklarace globálních prom╪nn∞ch *****/
  113. int Konec, ¼ísloOperace, Nové¼íslo, DesetinnéMísto;
  114. int Operace[3];
  115. int PrioritaOperace[5];
  116. char Displej[PoƒetMístDispleje+3], Memory[PoƒetMístDispleje+3];
  117. double Operand[3];
  118. TypMyτStav Myτ;
  119. TypAnimP²edm╪t StiskTlaƒítka, ZnakTeƒka, ZnakMínus;
  120. TypAObjekt Kurzor, TlaƒítkoLED, ZnakM, ZnakE;
  121. TypAObjekt Znak¼íslice[PoƒetMístDispleje];
  122.  
  123. /*-hf(*/
  124. /*-hf-*/
  125. void DoubleNaDispⁿet╪zec( double ¼íslo, char* ⁿet╪zec )
  126. /*-hf-*/;
  127. void ZobrazKurzor( void )
  128. /*-hf-*/;
  129. void SchovejKurzor( void )
  130. /*-hf-*/;
  131. void PohybKurzoru( void )
  132. /*-hf-*/;
  133. void GrPiτⁿet╪zecNaPozici( int X, int Y, int BarvaOkraje, int BarvaSt²edu,
  134.                          char* ⁿet╪zec )
  135.  
  136. /*-hf-*/;
  137. void GrPiτ¼ísloNaPozici( int X, int Y, int BarvaOkraje, int BarvaSt²edu,
  138.                          long ¼íslo, int Délka )
  139.  
  140. /*-hf-*/;
  141. void VypiτHodnotuPam╪ti( void )
  142. /*-hf-*/;
  143. void VykresliDisplej( void )
  144. /*-hf-*/;
  145. void Vytvo²ZnakyDispleje( void )
  146.  
  147. /***** definice lokálních konstant *****/
  148.  
  149. ;p²edm╪ty
  150. #define ¼íslice                   16
  151. #define Mínusy                    26
  152. #define UkazatelM                 28
  153. #define UkazatelE                 29
  154. #define UkazatelTeƒka             30
  155.  
  156. /*-hf-*/;
  157. void ZruτZnakyDispleje( void )
  158. /*-hf-*/;
  159. void Zm╪σDruhDispleje( void )
  160.  
  161. /***** definice lokálních konstant *****/
  162.  
  163. ;p²edm╪ty
  164. #define Prázdn∞Displej               46
  165. #define DélkaDispleje                 7
  166.  
  167. /*-hf-*/;
  168. void VykresliScénu( void )
  169.  
  170. /***** definice lokálních konstant *****/
  171.  
  172. ;²et╪zce
  173. #define Copyright      "Copyright (C) 1996,98 SGP Systems"
  174. #define JménoAutora    "Autor programu: Milan Fornàsek"
  175.  
  176. ;sou²adnice
  177. #define XCopyrightu               38
  178. #define YCopyrightu               45
  179. #define XJménaAutora              38
  180. #define YJménaAutora              60
  181. #define XNápisu                   45
  182. #define YNápisu                    8
  183.  
  184. ;p²edm╪ty
  185. #define Kalkulátor                53
  186. #define Nápis                     76
  187.  
  188. ;rozm╪ry kalkulátoru
  189. #define µí²kaKalkulátoru           8
  190. #define V∞τkaKalkulátoru           7
  191.  
  192. ;ostatní
  193. #define RokCopyrightu           1996
  194. #define DélkaNápisu                6
  195.  
  196. /*-hf-*/;
  197. void AkceTlaƒítkaTeƒka( void )
  198.  
  199. /*-hf-*/;
  200. void AkceTlaƒítka0( void )
  201.  
  202. /*-hf-*/;
  203. void AkceTlaƒítek1Aº9( char* Znak, int XT, YT )
  204.  
  205. /*-hf-*/;
  206. void AkceTlaƒítkaC( void )
  207. /*-hf-*/;
  208. void AkceTlaƒítkaMC( void )
  209. /*-hf-*/;
  210. void AkceTlaƒítkaMR( void )
  211. /*-hf-*/;
  212. void AkceTlaƒítkaMPlus( void )
  213. /*-hf-*/;
  214. void AkceTlaƒítkaMMínus( void )
  215. /*-hf-*/;
  216. void AkceTlaƒítkaSqrt( void )
  217. /*-hf-*/;
  218. void AkceTlaƒítekOperace( int TypOperace )
  219. /*-hf-*/;
  220. void AkceTlaƒítkaRovnítko( void )
  221. /*-hf-*/;
  222. void AkceTlaƒítkaBack( void )
  223. /*-hf-*/;
  224. void AkceTlaƒítkaZnaménko( void )
  225. /*-hf-*/;
  226. void AkceTlaƒítkaKƒ( void )
  227.  
  228. /***** definice lokálních konstant *****/
  229. #define XTabulky      330
  230. #define YTabulky       10
  231. #define YDelta         15
  232.  
  233. /*-hf-*/;
  234. /***** hlavní program *****/
  235. void main( void )
  236.  
  237. /***** definice lokálních konstant *****/
  238.  
  239. ;rozm╪ry tlaƒítka
  240. #define µí²kaTlaƒítka             37
  241. #define V∞τkaTlaƒítka             23
  242.  
  243. ;p²edm╪ty
  244. #define StisknutéTlaƒítka         91
  245. #define TlaƒítkaDispleje          93
  246. #define Ruka                      95
  247.  
  248. /*-hf)*/;
  249. ;-h---------------------------------------------------------------------------
  250. void DoubleNaDispⁿet╪zec( double ¼íslo, char* ⁿet╪zec )
  251. -s--DoubleNaDispⁿet╪zec                                                         ■  36  -2   0   3
  252.            __________________DoubleNaDispⁿet╪zec________________________
  253.        Deklarace                   Je~ƒíslo              Doplσ       Zapiτ
  254.        prom╪nn∞ch            _v~platném~rozsahu?_      chyb╪jící    hodnotu
  255.           0!                 /1                 /        mezery       5!
  256.                        _____Ano_____            Ne         *2
  257.                      P²eve╘     Odstraσ      Vynuluj     Mezera
  258.                       1!       p²ebyteƒná      2!         4!
  259.                                desetinná
  260.                                  místa
  261.                                   *1
  262.                                 Místo
  263.                                  3!
  264. -o1-DoubleNaDispⁿet╪zec
  265. 0 ;deklarace lokálních prom╪nn∞ch
  266.   char Ret[100], Ret2[100]
  267. 1 D¼ísloNaⁿet╪zec(Ret,¼íslo,PoƒetMístDispleje+2,PoƒetMístDispleje-1)
  268. 2 strcpy(Ret,NulováHodnota)
  269. 3 strcpyn(Ret,Ret,strlen(Ret)-1)
  270. 4 ;vloº mezeru
  271.   strcpy(Ret2,Ret);
  272.   strcpy(Ret," ");
  273.   strcat(Ret,Ret2)
  274. 5 strcpy(ⁿet╪zec,Ret)
  275. -c1-DoubleNaDispⁿet╪zec
  276. /1 (¼íslo >= -999999999999.) ASouƒasn╪ (¼íslo <= 999999999999.)
  277. *1 (Ret[strlen(Ret)-1] Je '0') Nebo
  278.   ((strlen(Ret)>PoƒetMístDispleje+2) ASouƒasn╪ (¼íslo<0)) Nebo
  279.     ((strlen(Ret)>PoƒetMístDispleje+1) ASouƒasn╪ (¼íslo>=0))
  280. *2 (strlen(Ret)<PoƒetMístDispleje+2)
  281. =SP-DoubleNaDispⁿet╪zec
  282.  
  283. ;-h---------------------------------------------------------------------------
  284. void ZobrazKurzor( void )
  285. -s--ZobrazKurzor                                                                ■   3  -2   0   3
  286.                                   ZobrazKurzor
  287.                                       1!
  288. -o1-ZobrazKurzor
  289. 1 ;zm╪σ sou²adnice kurzoru a zobraz jej
  290.   Kurzor.X = Myτ.X;
  291.   Kurzor.Y = Myτ.Y;
  292.   AnimP²edm╪tAnimuj(Kurzor.Obj,Kurzor.X+XOfsetKurzoru,Kurzor.Y+YOfsetKurzoru,0)
  293. -c1-ZobrazKurzor
  294. =SP-ZobrazKurzor
  295.  
  296. ;-h---------------------------------------------------------------------------
  297. void SchovejKurzor( void )
  298. -s--SchovejKurzor                                                               ■   3  -2   0   3
  299.                                  SchovejKurzor
  300.                                       1!
  301. -o1-SchovejKurzor
  302. 1 AnimP²edm╪tSchovej(Kurzor.Obj)
  303. -c1-SchovejKurzor
  304. =SP-SchovejKurzor
  305.  
  306. ;-h---------------------------------------------------------------------------
  307. void PohybKurzoru( void )
  308. -s--PohybKurzoru                                                                ■   4  -2   0   3
  309.                                   PohybKurzoru
  310.                                _Zm╪na~sou²adnic?_
  311.                                /1               /
  312.                               Ano               Ne
  313.                               1!               nic
  314. -o1-PohybKurzoru
  315. 1 ZobrazKurzor()
  316. -c1-PohybKurzoru
  317. /1 (Kurzor.X Není Myτ.X) Nebo (Kurzor.Y Není Myτ.Y)
  318. =SP-PohybKurzoru
  319.  
  320. ;-h---------------------------------------------------------------------------
  321. void GrPiτⁿet╪zecNaPozici( int X, int Y, int BarvaOkraje, int BarvaSt²edu,
  322.                          char* ⁿet╪zec )
  323.  
  324. -s--GrPiτⁿet╪zecNaPozici                                                        ■   5  -2 -13 259
  325.     ____________GrPiτⁿet╪zecNaPozici___________
  326. Deklarace     _____Okraj____           _____St²ed____
  327.    0!       Nastav      Vykresli     Nastav      Vykresli
  328.             barvu          #1        barvu        45!
  329.              1!           ⁿada        3!
  330.                            #2
  331.                          Pozice
  332.                          25!
  333. -o1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  334. 0 ;deklarace lokálních prom╪nn∞ch
  335.   int I, J;
  336.   GrNastavText(GrTextBezPozadí)
  337. 1 GrNastavBarvuPop²edí(BarvaOkraje)
  338. 2 GrNastavPozici(X+I,Y+J)
  339. 3 GrNastavBarvuPop²edí(BarvaSt²edu)
  340. 4 GrNastavPozici(X+1,Y+1)
  341. 5 GrPiτⁿet╪zec(ⁿet╪zec)
  342. -c1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  343. #1 OdDoKrok(J,0,2,1)
  344. #2 OdDoKrok(I,0,2,1)
  345. =SP---------------------------------------------------------------------------
  346.  
  347. ;-h---------------------------------------------------------------------------
  348. void GrPiτ¼ísloNaPozici( int X, int Y, int BarvaOkraje, int BarvaSt²edu,
  349.                          long ¼íslo, int Délka )
  350.  
  351. -s--GrPiτ¼ísloNaPozici                                                          ■   5  -2 -13 259
  352.     _____________GrPiτ¼ísloNaPozici____________
  353. Deklarace     _____Okraj____           _____St²ed____
  354.    0!       Nastav      Vykresli     Nastav      Vykresli
  355.             barvu          #1        barvu        45!
  356.              1!           ⁿada        3!
  357.                            #2
  358.                          Pozice
  359.                          25!
  360. -o1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  361. 0 ;deklarace lokálních prom╪nn∞ch
  362.   int I, J;
  363.   GrNastavText(GrTextBezPozadí)
  364. 1 GrNastavBarvuPop²edí(BarvaOkraje)
  365. 2 GrNastavPozici(X+I,Y+J)
  366. 3 GrNastavBarvuPop²edí(BarvaSt²edu)
  367. 4 GrNastavPozici(X+1,Y+1)
  368. 5 GrPiτL¼íslo(¼íslo,Délka)
  369. -c1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  370. #1 OdDoKrok(J,0,2,1)
  371. #2 OdDoKrok(I,0,2,1)
  372. =SP---------------------------------------------------------------------------
  373.  
  374. ;-h---------------------------------------------------------------------------
  375. void VypiτHodnotuPam╪ti( void )
  376. -s--VypiτHodnotuPam╪ti                                                          ■   4  -2 -29   3
  377. VypiτHodnotuPam╪ti
  378.        1!
  379. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  380. 1 ;vypiτ ²et╪zec s hodnotou pam╪ti
  381.   GrNastavPozici(XMDispleje+6,YMDispleje+1);
  382.   GrNastavBarvuPop²edí(TlaƒítkoLED.Hodnota*9);
  383.   GrNastavBarvuPozadí((1-TlaƒítkoLED.Hodnota)*6);
  384.   GrNastavText(GrTextSPozadím);
  385.   GrPiτⁿet╪zec("M: ");
  386.   GrPiτⁿet╪zec(Memory)
  387. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  388. =SP---------------------------------------------------------------------------
  389.  
  390. ;-h---------------------------------------------------------------------------
  391. void VykresliDisplej( void )
  392. -s--VykresliDisplej                                                             ■  82  -2   4   3
  393.     ________________________VykresliDisplej___________________
  394. Deklarace       M              E             První           │
  395. prom╪nn∞ch  _Ukázat?_      _Ukázat?_        znak~Je          │
  396.    0!       /1      /      /2      /       __mínus?_         │
  397.            Ano      Ne    Ano      Ne      /7      /      ⁿet╪zec
  398.            Ukaº   Skryj   Ukaº   Skryj    Ano      Ne       a!
  399.            1!      2!     3!      4!    Vykresli Skryj       #1
  400.                                           d!      e!        Znak
  401.                                                             8!
  402.                                      ____________________Jak∞~znak?____
  403.                                      /3          /4      /5     /6    /
  404.                                   ¼íslice      Mezera  Mínus  Teƒka  Jin∞
  405.                                      !b          !b   7cb!     5!    nic
  406.                                   _Jiná?_     _Jiná?_
  407.                                   /8    /     /8    /
  408.                                  Ano    Ne   Ano    Ne
  409.                                 96!    nic  97!    nic
  410. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  411. 0 ;deklarace lokálních prom╪nn∞ch
  412.   int I, J, Znak
  413. 1 AnimP²edm╪tAnimuj(ZnakM.Obj,ZnakM.X,ZnakM.Y,0)
  414. 2 AnimP²edm╪tSchovej(ZnakM.Obj)
  415. 3 AnimP²edm╪tAnimuj(ZnakE.Obj,ZnakE.X,ZnakE.Y,0)
  416. 4 AnimP²edm╪tSchovej(ZnakE.Obj)
  417. 5 AnimP²edm╪tAnimuj(ZnakTeƒka,Znak¼íslice[J-1].X,YDispleje,0)
  418. 6 AnimP²edm╪tAnimuj(Znak¼íslice[J].Obj,Znak¼íslice[J].X,YDispleje,
  419.     Znak¼íslice[J].Hodnota)
  420. 7 AnimP²edm╪tSchovej(Znak¼íslice[J].Obj)
  421. 8 Znak = Displej[I]
  422. 9 Znak¼íslice[J].Hodnota = Znak-'0'
  423. a J = 0
  424. b J = J+1
  425. c AnimP²edm╪tAnimuj(ZnakMínus,Znak¼íslice[J].X,YDispleje,0)
  426. d AnimP²edm╪tAnimuj(ZnakMínus,XDispleje+1,YDispleje,1)
  427. e AnimP²edm╪tSchovej(ZnakMínus)
  428. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  429. /1 ZnakM.Hodnota Je Pravdiv∞
  430. /2 ZnakE.Hodnota Je Pravdiv∞
  431. /3 (Znak >= '0') ASouƒasn╪ (Znak <= '9')
  432. /4 Znak Je ' '
  433. /5 Znak Je '-'
  434. /6 Znak Je '.'
  435. /7 Displej[0] Je '-'
  436. /8 Znak¼íslice[J].Hodnota Není Znak-'0'
  437. #1 OdDoKrok(I,1,PoƒetMístDispleje+1,1)
  438. =SP---------------------------------------------------------------------------
  439.  
  440. ;-h---------------------------------------------------------------------------
  441. void Vytvo²ZnakyDispleje( void )
  442.  
  443. /***** definice lokálních konstant *****/
  444.  
  445. ;p²edm╪ty
  446. #define ¼íslice                   16
  447. #define Mínusy                    26
  448. #define UkazatelM                 28
  449. #define UkazatelE                 29
  450. #define UkazatelTeƒka             30
  451.  
  452. -s--Vytvo²ZnakyDispleje                                                         ■  11  -2 -21 259
  453.     _____Vytvo²ZnakyDispleje_____
  454. Deklarace      ¼íslice       Ostatní
  455. prom╪nn∞ch        #1           2!
  456.    0!           Pozice
  457.                  1!
  458. -o1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  459. 0 ;deklarace lokálních prom╪nn∞ch
  460.   int I
  461. 1 ;definuj znak ƒíslice
  462.   Znak¼íslice[I].Obj = AnimP²edm╪tVytvo²(¼íslice+TlaƒítkoLED.Hodnota*µí²kaProstoru,10,0,1);
  463.   Znak¼íslice[I].X = XDispleje+(I+1)*OdstupZnakà+1;
  464.   Znak¼íslice[I].Y = YDispleje;
  465.   Znak¼íslice[I].Hodnota = ' '-'0'
  466. 2 ;vytvo² ostatní znaky displeje
  467.   ZnakMínus = AnimP²edm╪tVytvo²(Mínusy+TlaƒítkoLED.Hodnota*µí²kaProstoru,2,0,1);
  468.   ZnakM.Obj = AnimP²edm╪tVytvo²(UkazatelM+TlaƒítkoLED.Hodnota*µí²kaProstoru,1,0,1);
  469.   ZnakE.Obj = AnimP²edm╪tVytvo²(UkazatelE+TlaƒítkoLED.Hodnota*µí²kaProstoru,1,0,1);
  470.   ZnakTeƒka = AnimP²edm╪tVytvo²(UkazatelTeƒka+TlaƒítkoLED.Hodnota*µí²kaProstoru,1,0,1)
  471. -c1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  472. #1 OdDoKrok(I,0,PoƒetMístDispleje-1,1)
  473. =SP---------------------------------------------------------------------------
  474.  
  475. ;-h---------------------------------------------------------------------------
  476. void ZruτZnakyDispleje( void )
  477. -s--ZruτZnakyDispleje                                                           ■   2  -2   0   3
  478.                          ______ZruτZnakyDispleje______
  479.                      Deklarace      ¼íslice       Ostatní
  480.                      prom╪nn∞ch        #1           2!
  481.                         0!           Pozice
  482.                                       1!
  483. -o1-ZruτZnakyDispleje
  484. 0 ;deklarace lokálních prom╪nn∞ch
  485.   int I
  486. 1 AnimP²edm╪tZruτ(Znak¼íslice[I].Obj)
  487. 2 ;vytvo² ostatní znaky displeje
  488.   AnimP²edm╪tZruτ(ZnakMínus);
  489.   AnimP²edm╪tZruτ(ZnakM.Obj);
  490.   AnimP²edm╪tZruτ(ZnakE.Obj);
  491.   AnimP²edm╪tZruτ(ZnakTeƒka)
  492. -c1-ZruτZnakyDispleje
  493. #1 OdDoKrok(I,0,PoƒetMístDispleje-1,1)
  494. =SP-ZruτZnakyDispleje
  495.  
  496. ;-h---------------------------------------------------------------------------
  497. void Zm╪σDruhDispleje( void )
  498.  
  499. /***** definice lokálních konstant *****/
  500.  
  501. ;p²edm╪ty
  502. #define Prázdn∞Displej               46
  503. #define DélkaDispleje                 7
  504.  
  505. -s--Zm╪σDruhDispleje                                                            ■  22  -2   0   3
  506.                     ___________Zm╪σDruhDispleje___________
  507.                  Deklaruj       ____Zm╪σ____          Vykresli
  508.                  prom╪nné      Druh    Animované      prázdn∞
  509.                    0!          1!      _objekty_      displej
  510.                                       Zruτ   Vytvo²    56!
  511.                                       2!      3!         #1
  512.                                                       Políƒko
  513.                                                         4!
  514. -o1-Zm╪σDruhDispleje
  515. 0 ;deklarace lokálních prom╪nn∞ch
  516.   int I
  517. 1 TlaƒítkoLED.Hodnota = 1-TlaƒítkoLED.Hodnota
  518. 2 ZruτZnakyDispleje()
  519. 3 Vytvo²ZnakyDispleje()
  520. 4 GrKresliP²edm╪t(Prázdn∞Displej+TlaƒítkoLED.Hodnota*µí²kaProstoru+I,1,
  521.     XDispleje+I*Grµí²kaPolíƒka,YDispleje)
  522. 5 ;vykresli plné obdelníky p²es displej
  523.   GrNastavBarvuPozadí((1-TlaƒítkoLED.Hodnota)*6);
  524.   GrKresliVypln╪n∞Obdélník(XDispleje,YDispleje,
  525.     XDispleje+µí²kaDispleje-1,YDispleje+V∞τkaDispleje-1);
  526.   GrKresliVypln╪n∞Obdélník(XMDispleje,YMDispleje,
  527.     XMDispleje+µí²kaMDispleje-1,YMDispleje+V∞τkaMDispleje-1)
  528. 6 VypiτHodnotuPam╪ti()
  529. -c1-Zm╪σDruhDispleje
  530. #1 OdDoKrok(I,0,DélkaDispleje-1,1)
  531. =SP-Zm╪σDruhDispleje
  532.  
  533. ;-h---------------------------------------------------------------------------
  534. void VykresliScénu( void )
  535.  
  536. /***** definice lokálních konstant *****/
  537.  
  538. ;²et╪zce
  539. #define Copyright      "Copyright (C) 1996,98 SGP Systems"
  540. #define JménoAutora    "Autor programu: Milan Fornàsek"
  541.  
  542. ;sou²adnice
  543. #define XCopyrightu               38
  544. #define YCopyrightu               45
  545. #define XJménaAutora              38
  546. #define YJménaAutora              60
  547. #define XNápisu                   45
  548. #define YNápisu                    8
  549.  
  550. ;p²edm╪ty
  551. #define Kalkulátor                53
  552. #define Nápis                     76
  553.  
  554. ;rozm╪ry kalkulátoru
  555. #define µí²kaKalkulátoru           8
  556. #define V∞τkaKalkulátoru           7
  557.  
  558. ;ostatní
  559. #define RokCopyrightu           1996
  560. #define DélkaNápisu                6
  561.  
  562. -s--VykresliScénu                                                               ■  16  -2 -10   3
  563.    _____________________VykresliScénu___________________
  564. Prom╪nné Plocha Nápis Copyright Kalkulátor  Pam╪£   Displej
  565.   0!      1!      #1     3!         #2       5!       6!
  566.                Políƒko             ⁿada
  567.                  2!                 #3
  568.                                  Políƒko
  569.                                    4!
  570. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  571. 0 ;deklarace lokálních prom╪nn∞ch
  572.   int I, J
  573. 1 ;smaº okno sv╪tloτedou barvou
  574.   TxtNastavBarvuPozadí(Sv╪tloτedá);
  575.   GrKresliVypln╪n∞Obdélník(0,0,584,289)
  576. 2 GrKresliP²edm╪t(Nápis+I,1,XNápisu+I*Grµí²kaPolíƒka,YNápisu)
  577. 3 ;vypiτ copyright a jméno autora
  578.   GrPiτⁿet╪zecNaPozici(XCopyrightu-12,YCopyrightu,¼erná,Bílá,Copyright);
  579.   GrPiτⁿet╪zecNaPozici(XJménaAutora,YJménaAutora,¼erná,Bílá,JménoAutora)
  580. 4 GrKresliP²edm╪t(Kalkulátor+I+J*µí²kaProstoru,1,
  581.     XKalk+I*Grµí²kaPolíƒka,YKalk+J*GrV∞τkaPolíƒka)
  582. 5 VypiτHodnotuPam╪ti()
  583. 6 VykresliDisplej()
  584. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  585. #1 OdDoKrok(I,0,DélkaNápisu-1,1)
  586. #2 OdDoKrok(J,0,V∞τkaKalkulátoru-1,1)
  587. #3 OdDoKrok(I,0,µí²kaKalkulátoru-1,1)
  588. =SP---------------------------------------------------------------------------
  589.  
  590. ;-h---------------------------------------------------------------------------
  591. void AkceTlaƒítkaTeƒka( void )
  592.  
  593. -s--AkceTlaƒítkaTeƒka                                                           ■   7  -2   0   3
  594.                              AkceTlaƒítkaTeƒka
  595.                                     1!
  596.                               ______Lze?______
  597.                               /2             /
  598.                              Ano             Ne
  599.                               !3            nic
  600.                          _Nové¼íslo?_
  601.                          /1         /
  602.                         Ano         Ne
  603.                         2!         nic
  604. -o1-AkceTlaƒítkaTeƒka
  605. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaTeƒka,YTlaƒítkaTeƒka,0)
  606. 2 ;zruτ nové ƒíslo, vynuluj displej a nastav desetinná místa
  607.   Nové¼íslo = Nepravdiv∞;
  608.   strcpy(Displej,NulováHodnota)
  609. 3 DesetinnéMísto = Pravdiv∞
  610. -c1-AkceTlaƒítkaTeƒka
  611. /1 Nové¼íslo Je Pravdiv∞
  612. /2 ZnakE.Hodnota Je Nepravdiv∞
  613. =SP-AkceTlaƒítkaTeƒka
  614.  
  615. ;-h---------------------------------------------------------------------------
  616. void AkceTlaƒítka0( void )
  617.  
  618. -s--AkceTlaƒítka0                                                               ■  19  -2   0   3
  619.                                AkceTlaƒítka0
  620.                                     1!
  621.                         ____________Lze?______
  622.                         /4                   /
  623.                ________Ano________           Ne
  624.            Deklarace       __Nové¼íslo?__   nic
  625.            prom╪nn∞ch      /1           /
  626.               0!          Ano           Ne
  627.                          25!        __Volno?__
  628.                                     /2       /
  629.                                    Ano       Ne
  630.                                 Desetinné   nic
  631.                                 __místo?__
  632.                                 /3       /
  633.                                Ano       Ne
  634.                                3!       4!
  635. -o1-AkceTlaĒtka0
  636. 0 ;deklaruj lokální prom╪nné
  637.   int Chyba
  638. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítka0,YTlaƒítka0,0)
  639. 2 Nové¼íslo = Nepravdiv∞
  640. 3 ;posuσ ƒíslo a zapiτ 0 na posledního pozici
  641.   strcpyn(Displej,&Displej[1],strlen(Displej)-1);
  642.   strcat(Displej,"0")
  643. 4 ;posuσ ƒíslo a zapiτ 0 na p²edposlední pozici
  644.   strcpyn(Displej,&Displej[1],strlen(Displej)-2);
  645.   strcat(Displej,"0.")
  646. 5 strcpy(Displej,NulováHodnota)
  647. -c1-AkceTlaĒtka0
  648. /1 Nové¼íslo Je Pravdiv∞
  649. /2 Displej[1] Je ' '
  650. /3 DesetinnéMísto Je Pravdiv∞
  651. /4 ZnakE.Hodnota Je Nepravdiv∞
  652. /5 StrNaD¼íslo(Displej,&Chyba) Je 0
  653. =SP-AkceTlaĒtka0
  654.  
  655. ;-h---------------------------------------------------------------------------
  656. void AkceTlaƒítek1Aº9( char* Znak, int XT, YT )
  657.  
  658. -s--AkceTlaƒítek1Aº9                                                            ■  19  -2   0   3
  659.                              AkceTlaƒítek1Aº9
  660.                                     1!
  661.                        _____________Lze?________
  662.                        /4                      /
  663.               ________Ano________              Ne
  664.           Deklarace       __Nové¼íslo?__      nic
  665.           prom╪nn∞ch      /1           /
  666.              0!          Ano           Ne
  667.                         25!        __Volno?__
  668.                                    /2       /
  669.                                   Ano       Ne
  670.                                Desetinné   nic
  671.                                __místo?__
  672.                                /3       /
  673.                               Ano       Ne
  674.                               3!       4!
  675. -o1-AkceTlaƒítek1Aº9
  676. 0 ;deklaruj lokální prom╪nné
  677.   int Chyba
  678. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XT,YT,0)
  679. 2 Nové¼íslo = Nepravdiv∞;
  680. 3 ;posuσ ƒíslo a zapiτ znak na posledního pozici
  681.   strcpyn(Displej,&Displej[1],strlen(Displej)-1);
  682.   strcat(Displej,Znak)
  683. 4 ;posuσ ƒíslo a zapiτ znak na p²edposlední pozici
  684.   strcpyn(Displej,&Displej[1],strlen(Displej)-2);
  685.   strcat(Displej,Znak);
  686.   strcat(Displej,".")
  687. 5 ;dosa╘ znak
  688.   strcpy(Displej,"            ");
  689.   strcat(Displej,Znak);
  690.   strcat(Displej,".")
  691. -c1-AkceTlaƒítek1Aº9
  692. /1 Nové¼íslo Je Pravdiv∞
  693. /2 Displej[1] Je ' '
  694. /3 DesetinnéMísto Je Pravdiv∞
  695. /4 ZnakE.Hodnota Je Nepravdiv∞
  696. /5 StrNaD¼íslo(Displej,&Chyba) Je 0
  697. =SP-AkceTlaƒítek1Aº9
  698.  
  699. ;-h---------------------------------------------------------------------------
  700. void AkceTlaƒítkaC( void )
  701. -s--AkceTlaƒítkaC                                                               ■   3  -2   0   3
  702.                                 AkceTlaƒítkaC
  703.                                   1234!
  704.                                    _Chyba?_
  705.                                    /1     /
  706.                                   Ano     Ne
  707.                                  56!     nic
  708. -o1-AkceTlaĒtkaC
  709. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaC,YTlaƒítkaC,0)
  710. 2 ;vynuluj prom╪nné
  711.   strcpy(Displej,NulováHodnota);
  712.   Operand[¼ísloOperace] = 0;
  713.   Operace[¼ísloOperace] = ªádná
  714. 3 Nové¼íslo = Pravdiv∞
  715. 4 DesetinnéMísto = Nepravdiv∞
  716. 5 ZnakE.Hodnota = Nepravdiv∞
  717. 6 ¼ísloOperace = 0
  718. -c1-AkceTlaĒtkaC
  719. /1 ZnakE.Hodnota Je Pravdiv∞
  720. =SP-AkceTlaĒtkaC
  721.  
  722. ;-h---------------------------------------------------------------------------
  723. void AkceTlaƒítkaMC( void )
  724. -s--AkceTlaƒítkaMC                                                              ■   8  -2   0   3
  725.                                 AkceTlaƒítkaMC
  726.                                      1!
  727.                                    __Lze?__
  728.                                    /1     /
  729.                                   Ano     Ne
  730.                                  23!     nic
  731. -o1-AkceTlaĒtkaMC
  732. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaMC,YTlaƒítkaMC,0)
  733. 2 strcpy(Memory,NulováHodnota)
  734. 3 ZnakM.Hodnota = Nepravdiv∞
  735. -c1-AkceTlaĒtkaMC
  736. /1 ZnakE.Hodnota Je Nepravdiv∞
  737. =SP-AkceTlaĒtkaMC
  738.  
  739. ;-h---------------------------------------------------------------------------
  740. void AkceTlaƒítkaMR( void )
  741. -s--AkceTlaƒítkaMR                                                              ■   6  -2   0   3
  742.                                 AkceTlaƒítkaMR
  743.                                      1!
  744.                                    __Lze?__
  745.                                    /1     /
  746.                                   Ano     Ne
  747.                                 234!     nic
  748. -o1-AkceTlaĒtkaMR
  749. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaMR,YTlaƒítkaMR,0)
  750. 2 strcpy(Displej,Memory)
  751. 3 Nové¼íslo = Pravdiv∞
  752. 4 DesetinnéMísto = Nepravdiv∞
  753. -c1-AkceTlaĒtkaMR
  754. /1 ZnakE.Hodnota Je Nepravdiv∞
  755. =SP-AkceTlaĒtkaMR
  756.  
  757. ;-h---------------------------------------------------------------------------
  758. void AkceTlaƒítkaMPlus( void )
  759. -s--AkceTlaƒítkaMPlus                                                           ■  22  -2   0   3
  760.                             AkceTlaƒítkaMPlus
  761.                                    1!
  762.                             _______Lze?________
  763.                             /3                /
  764.                       _____Ano_____           Ne
  765.                   Deklarace    V∞poƒet       nic
  766.                   prom╪nn∞ch     2!
  767.                      0!        _Chyba?_
  768.                                /2     /
  769.                               Ano     Ne
  770.                               6!   578!
  771.                                    _Nula?_
  772.                                    /1    /
  773.                                   Ano    Ne
  774.                                   3!    4!
  775. -o1-AkceTlaĒtkaMPlus
  776. 0 ;deklarace lokálních prom╪nn∞ch
  777.   double I;
  778.   int Chyba
  779. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaMPlus,YTlaƒítkaMPlus,0)
  780. 2 I = StrNaD¼íslo(Memory,&Chyba)+StrNaD¼íslo(Displej,&Chyba)
  781. 3 ZnakM.Hodnota = Nepravdiv∞
  782. 4 ZnakM.Hodnota = Pravdiv∞
  783. 5 DoubleNaDispⁿet╪zec(I,Memory)
  784. 6 ZnakE.Hodnota = Pravdiv∞
  785. 7 Nové¼íslo = Pravdiv∞
  786. 8 DesetinnéMísto = Nepravdiv∞
  787. -c1-AkceTlaĒtkaMPlus
  788. /1 I Je 0
  789. /2 (I < -999999999999.) Nebo (I > 999999999999.)
  790. /3 ZnakE.Hodnota Je Nepravdiv∞
  791. =SP-AkceTlaĒtkaMPlus
  792.  
  793. ;-h---------------------------------------------------------------------------
  794. void AkceTlaƒítkaMMínus( void )
  795. -s--AkceTlaƒítkaMMínus                                                          ■  22  -2   0   3
  796.                            AkceTlaƒítkaMMínus
  797.                                    1!
  798.                             _______Lze?________
  799.                             /3                /
  800.                       _____Ano_____           Ne
  801.                   Deklarace    V∞poƒet       nic
  802.                   prom╪nn∞ch     2!
  803.                      0!        _Chyba?_
  804.                                /2     /
  805.                               Ano     Ne
  806.                               6!   578!
  807.                                    _Nula?_
  808.                                    /1    /
  809.                                   Ano    Ne
  810.                                   3!    4!
  811. -o1-AkceTlaƒítkaMMínus
  812. 0 ;deklarace lokálních prom╪nn∞ch
  813.   double I;
  814.   int Chyba
  815. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaMMínus,YTlaƒítkaMMínus,0)
  816. 2 I = StrNaD¼íslo(Memory,&Chyba)-StrNaD¼íslo(Displej,&Chyba)
  817. 3 ZnakM.Hodnota = Nepravdiv∞
  818. 4 ZnakM.Hodnota = Pravdiv∞
  819. 5 DoubleNaDispⁿet╪zec(I,Memory)
  820. 6 ZnakE.Hodnota = Pravdiv∞
  821. 7 Nové¼íslo = Pravdiv∞
  822. 8 DesetinnéMísto = Nepravdiv∞
  823. -c1-AkceTlaƒítkaMMínus
  824. /1 I Je 0
  825. /2 (I < -999999999999.) Nebo (I > 999999999999.)
  826. /3 ZnakE.Hodnota Je Nepravdiv∞
  827. =SP-AkceTlaƒítkaMMínus
  828.  
  829. ;-h---------------------------------------------------------------------------
  830. void AkceTlaƒítkaSqrt( void )
  831. -s--AkceTlaƒítkaSqrt                                                            ■  23  -2   0   3
  832.                             AkceTlaƒítkaSqrt
  833.                                    1!
  834.                             _______Lze?________
  835.                             /1                /
  836.                       _____Ano_____           Ne
  837.                   Deklarace     P²eve╘       nic
  838.                   prom╪nn∞ch     4!
  839.                      0!        _Chyba?_
  840.                                /2     /
  841.                               Ano     Ne
  842.                               3!   V∞poƒet
  843.                                   2567!
  844. -o1-AkceTlaĒtkaSqrt
  845. 0 ;deklarace lokálních prom╪nn∞ch
  846.   double I;
  847.   int Chyba
  848. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaSqrt,YTlaƒítkaSqrt,0)
  849. 2 I = sqrt(I)
  850. 3 ZnakE.Hodnota = Pravdiv∞
  851. 4 I = StrNaD¼íslo(Displej,&Chyba)
  852. 5 DoubleNaDispⁿet╪zec(I,Displej)
  853. 6 Nové¼íslo = Pravdiv∞
  854. 7 DesetinnéMísto = Nepravdiv∞
  855. -c1-AkceTlaĒtkaSqrt
  856. /1 ZnakE.Hodnota Je Nepravdiv∞
  857. /2 I < 0
  858. =SP-AkceTlaĒtkaSqrt
  859.  
  860. ;-h---------------------------------------------------------------------------
  861. void AkceTlaƒítekOperace( int TypOperace )
  862. -s--AkceTlaƒítekOperace                                                         ■  61  -2   0   3
  863.                                           AkceTlaƒítekOperace
  864.                                   ________________Lze?________________
  865.                                   /1                                 /
  866.                     _____________Ano______________                   Ne
  867.                 Deklarace            _________Provést_________      nic
  868.                 prom╪nn∞ch       P²edchozí               P²i²azení
  869.                    0!             v∞poƒty                    !1
  870.                                      *1                     Nové
  871.                                     Lze                   _ƒíslo?_
  872.                                     3!dc                  /2     /
  873.                          _________V∞poƒet_________       Ano     Ne
  874.              __________Jak∞?___________       Kontrola   nic 3245!
  875.              /3       /4      /5      /6      rozsahu
  876.            D╪leno    Krát   Mínus    Plus     _Chyba?_
  877.           _Chyba?_ Vypoƒti Vypoƒti Vypoƒti    /8     /
  878.           /7     /   9!      a!      b!      Ano     Ne
  879.          Ano     Ne                          7!     nic
  880.          7!   Vypoƒti
  881.                 8!
  882. -o1-AkceTlaĒtekOperace
  883. 0 ;deklarace lokálních prom╪nn∞ch
  884.   int Chyba
  885. 1 Operace[¼ísloOperace-1] = TypOperace
  886. 2 ¼ísloOperace = ¼ísloOperace+1;
  887. 3 Operand[¼ísloOperace] = StrNaD¼íslo(Displej,&Chyba)
  888. 4 Nové¼íslo = Pravdiv∞
  889. 5 DesetinnéMísto = Nepravdiv∞
  890. 6 Operand[¼ísloOperace] = StrNaD¼íslo(Displej,&Chyba)
  891. 7 ;nastav chybu
  892.   Operand[¼ísloOperace-1] = 0;
  893.   ZnakE.Hodnota = Pravdiv∞
  894. 8 Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]/Operand[¼ísloOperace]
  895. 9 Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]*Operand[¼ísloOperace]
  896. a Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]-Operand[¼ísloOperace]
  897. b Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]+Operand[¼ísloOperace]
  898. c DoubleNaDispⁿet╪zec(Operand[¼ísloOperace],Displej)
  899. d ¼ísloOperace = ¼ísloOperace-1
  900. -c1-AkceTlaĒtekOperace
  901. /1 ZnakE.Hodnota Je Nepravdiv∞
  902. /2 (Nové¼íslo Je Pravdiv∞) ASouƒasn╪ (¼ísloOperace > 0)
  903. /3 Operace[¼ísloOperace-1] Je D╪leno
  904. /4 Operace[¼ísloOperace-1] Je Krát
  905. /5 Operace[¼ísloOperace-1] Je Mínus
  906. /6 Operace[¼ísloOperace-1] Je Plus
  907. /7 Operand[¼ísloOperace] Je 0
  908. /8 (Operand[¼ísloOperace-1] < -999999999999.) Nebo
  909.      (Operand[¼ísloOperace-1] > 999999999999.)
  910. *1 (¼ísloOperace > 0) ASouƒasn╪ (Nové¼íslo Je Nepravdiv∞) ASouƒasn╪
  911.      (PrioritaOperace[Operace[¼ísloOperace-1]] >=
  912.      PrioritaOperace[TypOperace])
  913. =SP-AkceTlaĒtekOperace
  914.  
  915. ;-h---------------------------------------------------------------------------
  916. void AkceTlaƒítkaRovnítko( void )
  917. -s--AkceTlaƒítkaRovnítko                                                        ■  10  -2   0   3
  918.                                            AkceTlaƒítkaRovnítko
  919.                                                     1!
  920.                                _____________________Lze?____________________
  921.                                /1                                          /
  922.            ___________________Ano____________________                      Ne
  923.        Deklarace             ____________________Provést___________       nic
  924.        prom╪nn∞ch       _Opakovat?_              V∞poƒty      P²i²azení
  925.          06!            /2        /                 *1         c45!
  926.                        Ano        Ne               Lze
  927.                        3!        nic                !d
  928.                                         _________V∞poƒet_________
  929.                             __________Jak∞?___________       Kontrola
  930.                             /3       /4      /5      /6      rozsahu
  931.                           D╪leno    Krát   Mínus    Plus     _Chyba?_
  932.                          _Chyba?_ Vypoƒti Vypoƒti Vypoƒti    /8     /
  933.                          /7     /   9!      a!      b!      Ano     Ne
  934.                         Ano     Ne                          7!     nic
  935.                         7!   Vypoƒti
  936.                                8!
  937. -o1-AkceTlaƒítkaRovnítko
  938. 0 ;deklarace lokálních prom╪nn∞ch
  939.   int Chyba
  940. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaRovnítko,YTlaƒítkaRovnítko,0)
  941. 3 ¼ísloOperace = 1;
  942. 4 Nové¼íslo = Pravdiv∞
  943. 5 DesetinnéMísto = Nepravdiv∞
  944. 6 Operand[¼ísloOperace] = StrNaD¼íslo(Displej,&Chyba)
  945. 7 ;nastav chybu
  946.   Operand[¼ísloOperace-1] = 0;
  947.   ZnakE.Hodnota = Pravdiv∞
  948. 8 Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]/Operand[¼ísloOperace]
  949. 9 Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]*Operand[¼ísloOperace]
  950. a Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]-Operand[¼ísloOperace]
  951. b Operand[¼ísloOperace-1] = Operand[¼ísloOperace-1]+Operand[¼ísloOperace]
  952. c DoubleNaDispⁿet╪zec(Operand[¼ísloOperace],Displej)
  953. d ¼ísloOperace = ¼ísloOperace-1
  954. -c1-AkceTlaƒítkaRovnítko
  955. /1 ZnakE.Hodnota Je Nepravdiv∞
  956. /2 ¼ísloOperace Je 0
  957. /3 Operace[¼ísloOperace-1] Je D╪leno
  958. /4 Operace[¼ísloOperace-1] Je Krát
  959. /5 Operace[¼ísloOperace-1] Je Mínus
  960. /6 Operace[¼ísloOperace-1] Je Plus
  961. /7 Operand[¼ísloOperace] Je 0
  962. /8 (Operand[¼ísloOperace-1] < -999999999999.) Nebo
  963.      (Operand[¼ísloOperace-1] > 999999999999.)
  964. *1 ¼ísloOperace > 0
  965. =SP-AkceTlaƒítkaRovnítko
  966.  
  967. ;-h---------------------------------------------------------------------------
  968. void AkceTlaƒítkaBack( void )
  969. -s--AkceTlaƒítkaBack                                                            ■  42  -2 -19   3
  970.             AkceTlaƒítkaBack
  971.                  01!
  972.              _____Lze?_____
  973.              /1           /
  974.             Ano           Ne
  975.          Desetinná       nic
  976.       _____teƒka?_____
  977.       /2             /
  978.      Ano             Ne
  979.    223!5           27!
  980.   _Prázdno?_     _Prázdno?_
  981.   /3       /     /3       /
  982.  Ano       Ne   Ano       Ne
  983.   !46     7!    3!46     nic
  984. Mínus?         Mínus?
  985.   /4             /4
  986.  Ano            Ano
  987. 27!            27!
  988. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  989. 0 ;deklarace lokálních prom╪nn∞ch
  990.   int Chyba;
  991.   char Ret[100]
  992. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaBack,YTlaƒítkaBack,0)
  993. 2 strcpyn(Displej,Displej,strlen(Displej)-1)
  994. 3 DesetinnéMísto = Nepravdiv∞
  995. 4 strcat(Displej,"0")
  996. 5 strcat(Displej,".")
  997. 6 Nové¼íslo = Pravdiv∞
  998. 7 ;p²idej na zaƒátek mezeru
  999.   strcpy(Ret,Displej);
  1000.   strcpy(Displej," ");
  1001.   strcat(Displej,Ret)
  1002. x Tón(1000);¼ekej(100);VypniTón()
  1003. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1004. /1 (ZnakE.Hodnota Je Nepravdiv∞) ASouƒasn╪ (StrNaD¼íslo(Displej,&Chyba) Není 0)
  1005. /2 Displej[strlen(Displej)-1] Je '.'
  1006. /3 (Displej[strlen(Displej)-1] Je ' ') Nebo (Displej[strlen(Displej)-1] Je '-')
  1007. /4 Displej[strlen(Displej)-1] Je '-'
  1008. =SP---------------------------------------------------------------------------
  1009.  
  1010. ;-h---------------------------------------------------------------------------
  1011. void AkceTlaƒítkaZnaménko( void )
  1012. -s--AkceTlaƒítkaZnaménko                                                        ■   6  -2   0   3
  1013.                               AkceTlaƒítkaZnaménko
  1014.                                      01!
  1015.                                   ____Lze?____
  1016.                                   /1         /
  1017.                                  Ano         Ne
  1018.                                  2!         nic
  1019. -o1-AkceTlaƒítkaZnaménko
  1020. 0 ;deklarace lokálních prom╪nn∞ch
  1021.   int Chyba
  1022. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaZnaménko,YTlaƒítkaZnaménko,0)
  1023. 2 DoubleNaDispⁿet╪zec(StrNaD¼íslo(Displej,&Chyba)*(-1),Displej)
  1024. -c1-AkceTlaƒítkaZnaménko
  1025. /1 ZnakE.Hodnota Je Nepravdiv∞
  1026. =SP-AkceTlaƒítkaZnaménko
  1027.  
  1028. ;-h---------------------------------------------------------------------------
  1029. void AkceTlaƒítkaKƒ( void )
  1030.  
  1031. /***** definice lokálních konstant *****/
  1032. #define XTabulky      330
  1033. #define YTabulky       10
  1034. #define YDelta         15
  1035.  
  1036. -s--AkceTlaƒítkaKƒ                                                              ■  19  -2   4   3
  1037.                                           AkceTlaƒítkaKƒ
  1038.                                               01!
  1039.                                             ___Lze?___
  1040.                                             /1       /
  1041.                                            Ano       Ne
  1042.                                           24!3      nic
  1043.                                           Platná
  1044.                                         _hodnota?_
  1045.                                         /2       /
  1046.                                        Ano       Ne
  1047.                                        6!       5!
  1048.                                         │
  1049.        _______________________________Rozloº_______________________________________
  1050.       5000 2000 1000 500  200  100   50   20   10   5    2    1   0.5  0.2  0.1  0.05
  1051.        /3   /i   /4   /5   /6   /7   /8   /9   /a   /b   /c   /d   /e   /f   /g   /h
  1052.       Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze  Lze
  1053.      87!  n7!  97!  a7!  b7!  c7!  d7!  e7!  f7!  g7!  h7!  i7!  j7!  k7!  l7!  m7!
  1054. -o1-AkceTlaƒítkaKƒ
  1055. 0 ;deklarace lokálních prom╪nn∞ch
  1056.   int Chyba, Y;
  1057.   double ¼íslo, I
  1058. 1 AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaKƒ,YTlaƒítkaKƒ,0)
  1059. 2 SchovejKurzor()
  1060. 3 ZobrazKurzor()
  1061. 4 ;smaº místo pro tabulku
  1062.   GrNastavBarvuPozadí(Sv╪tloτedá);
  1063.   GrKresliVypln╪n∞Obdélník(XTabulky,0,584,289);
  1064.   ¼íslo = StrNaD¼íslo(Displej,&Chyba);
  1065.   GrNastavBarvuPop²edí(¼erná);
  1066.   GrNastavPozici(XTabulky,YTabulky);
  1067.   GrPiτⁿet╪zec("        V∞ƒetka:")
  1068. 5 ;vypiτ oznámení o τpatné hodnot╪
  1069.   GrNastavPozici(XTabulky,YTabulky+YDelta);
  1070.   GrPiτⁿet╪zec("Hodnota musí b∞t v╪tτí neº 0.")
  1071. 6 Y = 1
  1072. 7 ;vykresli obdelník a posuσ sou²adnici
  1073.   GrKresliObdélník(XTabulky,YTabulky+Y*YDelta,530,YTabulky+(Y+1)*YDelta);
  1074.   Y = Y+1
  1075. 8 ;5000
  1076.   I = integer(¼íslo/5000);
  1077.   ¼íslo = ¼íslo-I*5000;
  1078.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1079.   GrPiτL¼íslo(I,9);
  1080.   GrPiτⁿet╪zec(" x 5000 Kƒ")
  1081. 9 ;1000
  1082.   I = integer(¼íslo/1000);
  1083.   ¼íslo = ¼íslo-I*1000;
  1084.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1085.   GrPiτL¼íslo(I,9);
  1086.   GrPiτⁿet╪zec(" x 1000 Kƒ")
  1087. a ;500
  1088.   I = integer(¼íslo/500);
  1089.   ¼íslo = ¼íslo-I*500;
  1090.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1091.   GrPiτL¼íslo(I,9);
  1092.   GrPiτⁿet╪zec(" x 500 Kƒ")
  1093. b ;200
  1094.   I = integer(¼íslo/200);
  1095.   ¼íslo = ¼íslo-I*200;
  1096.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1097.   GrPiτL¼íslo(I,9);
  1098.   GrPiτⁿet╪zec(" x 200 Kƒ")
  1099. c ;100
  1100.   I = integer(¼íslo/100);
  1101.   ¼íslo = ¼íslo-I*100;
  1102.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1103.   GrPiτL¼íslo(I,9);
  1104.   GrPiτⁿet╪zec(" x 100 Kƒ")
  1105. d ;50
  1106.   I = integer(¼íslo/50);
  1107.   ¼íslo = ¼íslo-I*50;
  1108.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1109.   GrPiτL¼íslo(I,9);
  1110.   GrPiτⁿet╪zec(" x 50 Kƒ")
  1111. e ;20
  1112.   I = integer(¼íslo/20);
  1113.   ¼íslo = ¼íslo-I*20;
  1114.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1115.   GrPiτL¼íslo(I,9);
  1116.   GrPiτⁿet╪zec(" x 20 Kƒ")
  1117. f ;10
  1118.   I = integer(¼íslo/10);
  1119.   ¼íslo = ¼íslo-I*10;
  1120.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1121.   GrPiτL¼íslo(I,9);
  1122.   GrPiτⁿet╪zec(" x 10 Kƒ")
  1123. g ;5
  1124.   I = integer(¼íslo/5);
  1125.   ¼íslo = ¼íslo-I*5;
  1126.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1127.   GrPiτL¼íslo(I,9);
  1128.   GrPiτⁿet╪zec(" x 5 Kƒ")
  1129. h ;2
  1130.   I = integer(¼íslo/2);
  1131.   ¼íslo = ¼íslo-I*2;
  1132.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1133.   GrPiτL¼íslo(I,9);
  1134.   GrPiτⁿet╪zec(" x 2 Kƒ")
  1135. i ;1
  1136.   I = integer(¼íslo);
  1137.   ¼íslo = ¼íslo-I;
  1138.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1139.   GrPiτL¼íslo(I,9);
  1140.   GrPiτⁿet╪zec(" x 1 Kƒ")
  1141. j ;0.5
  1142.   I = integer(¼íslo/0.5);
  1143.   ¼íslo = ¼íslo-I*0.5;
  1144.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1145.   GrPiτL¼íslo(I,9);
  1146.   GrPiτⁿet╪zec(" x 50 Hal")
  1147. k ;0.2
  1148.   I = integer(¼íslo/0.2);
  1149.   ¼íslo = ¼íslo-I*0.2;
  1150.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1151.   GrPiτL¼íslo(I,9);
  1152.   GrPiτⁿet╪zec(" x 20 Hal")
  1153. l ;0.1
  1154.   I = integer(¼íslo/0.1);
  1155.   ¼íslo = ¼íslo-I*0.1;
  1156.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1157.   GrPiτL¼íslo(I,9);
  1158.   GrPiτⁿet╪zec(" x 10 Hal")
  1159. m ;0.05
  1160.   I = integer(¼íslo/0.05);
  1161.   ¼íslo = ¼íslo-I*0.05;
  1162.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1163.   GrPiτL¼íslo(I,9);
  1164.   GrPiτⁿet╪zec(" x 5 Hal")
  1165. n ;2000
  1166.   I = integer(¼íslo/2000);
  1167.   ¼íslo = ¼íslo-I*2000;
  1168.   GrNastavPozici(XTabulky+8,YTabulky+Y*YDelta+4);
  1169.   GrPiτL¼íslo(I,9);
  1170.   GrPiτⁿet╪zec(" x 2000 Kƒ")
  1171. -c1-AkceTlaƒítkaKƒ
  1172. /1 ZnakE.Hodnota Je Nepravdiv∞
  1173. /2 ¼íslo > 0
  1174. /3 ¼íslo >= 5000
  1175. /4 ¼íslo >= 1000
  1176. /5 ¼íslo >= 500
  1177. /6 ¼íslo >= 200
  1178. /7 ¼íslo >= 100
  1179. /8 ¼íslo >= 50
  1180. /9 ¼íslo >= 20
  1181. /a ¼íslo >= 10
  1182. /b ¼íslo >= 5
  1183. /c ¼íslo >= 2
  1184. /d ¼íslo >= 1
  1185. /e ¼íslo >= 0.5
  1186. /f ¼íslo >= 0.2
  1187. /g ¼íslo >= 0.1
  1188. /h ¼íslo >= 0.05
  1189. /i ¼íslo >= 2000
  1190. =SP-AkceTlaƒítkaKƒ
  1191.  
  1192. ;-h---------------------------------------------------------------------------
  1193. /***** hlavní program *****/
  1194. void main( void )
  1195.  
  1196. /***** definice lokálních konstant *****/
  1197.  
  1198. ;rozm╪ry tlaƒítka
  1199. #define µí²kaTlaƒítka             37
  1200. #define V∞τkaTlaƒítka             23
  1201.  
  1202. ;p²edm╪ty
  1203. #define StisknutéTlaƒítka         91
  1204. #define TlaƒítkaDispleje          93
  1205. #define Ruka                      95
  1206.  
  1207. -s--BALTCALC                                                                    ■   2  -2  -2   3
  1208.         _________________________BALTCALC____________________________
  1209.      Zacatek                    Prostredek                        Konec
  1210.     1934!                           *0                            a2!
  1211.                                  Událost
  1212.                                    5!
  1213.   ________________________________Jaká?_________________________________________________________________________________
  1214.   /1  /q   /r    /s      /2  /3  /4  /5  /6   /7  /8  /9  /a  /b  /c  /d   /e  /f  /g  /h  /i  /j  /k  /l  /m  /n  /o  /p
  1215.  LED  │ Znaménko │       │   C   │  OFF  │    M+  │  sqrt │   8   │ D╪leno │   5   │  Krát │   2   │ Mínus │ Teƒka │  Plus
  1216. dm!7c │  Dm!c    │       │ fm!c  │  6!c  │ iBm!c  │ km!c  │ pm!c  │ rm!c   │ tm!c  │ vm!c  │ xm!c  │ zm!c  │ lm!c  │ 8m!c
  1217. Stisk │  Stisk   │       │ Stisk │ Stisk │  Stisk │ Stisk │ Stisk │ Stisk  │ Stisk │ Stisk │ Stisk │ Stisk │ Stisk │ Stisk
  1218.   *1  │    *r    │       │   *3  │   *5  │    *7  │   *9  │   *b  │   *d   │   *f  │   *h  │   *j  │   *l  │   *n  │   *p
  1219.  Stav │   Stav   │       │  Stav │  Stav │   Stav │  Stav │  Stav │  Stav  │  Stav │  Stav │  Stav │  Stav │  Stav │  Stav
  1220.  5!   │   5!     │       │  5!   │  5!   │   5!   │  5!   │  5!   │  5!    │  5!   │  5!   │  5!   │  5!   │  5!   │  5!
  1221.       │          │       │       │       │        │       │       │        │       │       │       │       │       │
  1222.      Back        Kƒ      MC      AC      MR       M-      7       9        4       6       1       3       0    Rovnítko
  1223.     Cm!c       Em!c   eBm!c    gm!c    hm!c    jBm!c    om!c    qm!c     sm!c    um!c    wm!c    ym!c    Am!c    nm!c
  1224.     Stisk      Stisk   Stisk   Stisk   Stisk    Stisk   Stisk   Stisk    Stisk   Stisk   Stisk   Stisk   Stisk   Stisk
  1225.       *q         *s      *2      *4      *6       *8      *a      *c       *e      *g      *i      *k      *m      *o
  1226.      Stav       Stav    Stav    Stav    Stav     Stav    Stav    Stav     Stav    Stav    Stav    Stav    Stav    Stav
  1227.      5!         5!      5!      5!      5!       5!      5!      5!       5!      5!      5!      5!      5!      5!
  1228. -o1----------------------SEZNAM OPERAC╓------------TENTO ⁿ╡DEK NEM╖NIT!-------
  1229. 1 ;nastav podmínky pro b╪h programu
  1230.   Vytvo²Prostor();
  1231.   EscPlus();
  1232.   KlZaƒátekObsluhy(Nepravdiv∞);
  1233.   GrNastavV∞stup(GrV∞stupOkno);
  1234.   AnimNastavGrV∞stup(GrV∞stupOkno);
  1235.   MyτZaƒátekObsluhy();
  1236.   Kurzor.X = XStartKurzoru;
  1237.   Kurzor.Y = YStartKurzoru;
  1238.   MyτNastavPozici(Kurzor.X,Kurzor.Y);
  1239.   MyτNastavRozsah(X1Kurzoru,Y1Kurzoru,X2Kurzoru,Y2Kurzoru);
  1240.   RychlostBaltazara(9);
  1241.   ZnakM.X = XDispleje+1;
  1242.   ZnakM.Y = YDispleje;
  1243.   ZnakM.Hodnota = Nepravdiv∞;
  1244.   ZnakE.X = XDispleje+1;
  1245.   ZnakE.Y = YDispleje;
  1246.   ZnakE.Hodnota = Nepravdiv∞;
  1247.   DesetinnéMísto = Nepravdiv∞;
  1248.   strcpy(Memory,NulováHodnota);
  1249.   strcpy(Displej,NulováHodnota);
  1250.   Konec = Nepravdiv∞;
  1251.   ¼ísloOperace = 0;
  1252.   PrioritaOperace[ªádná]  = 0;
  1253.   PrioritaOperace[Plus]   = 1;
  1254.   PrioritaOperace[Mínus]  = 1;
  1255.   PrioritaOperace[Krát]   = 2;
  1256.   PrioritaOperace[D╪leno] = 2;
  1257.   Nové¼íslo = Pravdiv∞
  1258. 2 ;ukonƒi program
  1259.   MyτKonecObsluhy();
  1260.   KlKonecObsluhy();
  1261.   EscMínus();
  1262.   ZruτProstor()
  1263. 3 VykresliScénu()
  1264. 4 ZobrazKurzor()
  1265. 5 MyτStav(Myτ); PohybKurzoru()
  1266. 6 ;akce tlaƒítka OFF
  1267.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaOFF,YTlaƒítkaOFF,1);
  1268.   Konec = Pravdiv∞
  1269. 7 AnimP²edm╪tAnimuj(TlaƒítkoLED.Obj,TlaƒítkoLED.X,TlaƒítkoLED.Y,TlaƒítkoLED.Hodnota)
  1270. 8 ;akce tlaƒítka Plus
  1271.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaPlus,YTlaƒítkaPlus,0);
  1272.   AkceTlaƒítekOperace(Plus)
  1273. 9 ;vytvo² animované objekty a nastav priority zobrazení
  1274.   StiskTlaƒítka = AnimP²edm╪tVytvo²(StisknutéTlaƒítka,2,0,1);
  1275.   TlaƒítkoLED.Obj = AnimP²edm╪tVytvo²(TlaƒítkaDispleje,2,0,1);
  1276.   Kurzor.Obj = AnimP²edm╪tVytvo²(Ruka,1,0,1);
  1277.   TlaƒítkoLED.X = XTlaƒítkaLED;
  1278.   TlaƒítkoLED.Y = YTlaƒítkaLED;
  1279.   TlaƒítkoLED.Hodnota = LCD;
  1280.   Vytvo²ZnakyDispleje();
  1281.   AnimP²edm╪tDejP²ed(StiskTlaƒítka,TlaƒítkoLED.Obj);
  1282.   AnimP²edm╪tDejP²ed(Kurzor.Obj,-1)
  1283. a ;zruτ animované objekty
  1284.   ZruτZnakyDispleje();
  1285.   AnimP²edm╪tZruτ(TlaƒítkoLED.Obj);
  1286.   AnimP²edm╪tZruτ(StiskTlaƒítka);
  1287.   AnimP²edm╪tZruτ(Kurzor.Obj)
  1288. c AnimP²edm╪tSchovej(StiskTlaƒítka)
  1289. d ;akce tlaƒítka LED
  1290.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaLED,YTlaƒítkaLED,0);
  1291.   Zm╪σDruhDispleje()
  1292. e AkceTlaƒítkaMC()
  1293. f AkceTlaƒítkaC()
  1294. g ;akce tlaƒítka AC
  1295.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaAC,YTlaƒítkaAC,0);
  1296.   ¼ísloOperace = 0;
  1297.   strcpy(Displej,NulováHodnota);
  1298.   Operace[0] = ªádná;
  1299.   Nové¼íslo = Pravdiv∞;
  1300.   DesetinnéMísto = Nepravdiv∞;
  1301.   ZnakE.Hodnota = Nepravdiv∞
  1302. h AkceTlaƒítkaMR()
  1303. i AkceTlaƒítkaMPlus()
  1304. j AkceTlaƒítkaMMínus()
  1305. k AkceTlaƒítkaSqrt()
  1306. l AkceTlaƒítkaTeƒka()
  1307. m VykresliDisplej()
  1308. n AkceTlaƒítkaRovnítko()
  1309. o AkceTlaƒítek1Aº9("7",XTlaƒítka7,YTlaƒítka7)
  1310. p AkceTlaƒítek1Aº9("8",XTlaƒítka8,YTlaƒítka8)
  1311. q AkceTlaƒítek1Aº9("9",XTlaƒítka9,YTlaƒítka9)
  1312. r ;akce tlaƒítka D╪leno
  1313.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaD╪leno,YTlaƒítkaD╪leno,0);
  1314.   AkceTlaƒítekOperace(D╪leno)
  1315. s AkceTlaƒítek1Aº9("4",XTlaƒítka4,YTlaƒítka4)
  1316. t AkceTlaƒítek1Aº9("5",XTlaƒítka5,YTlaƒítka5)
  1317. u AkceTlaƒítek1Aº9("6",XTlaƒítka6,YTlaƒítka6)
  1318. v ;akce tlaƒítka Krát
  1319.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaKrát,YTlaƒítkaKrát,0);
  1320.   AkceTlaƒítekOperace(Krát)
  1321. w AkceTlaƒítek1Aº9("1",XTlaƒítka1,YTlaƒítka1)
  1322. x AkceTlaƒítek1Aº9("2",XTlaƒítka2,YTlaƒítka2)
  1323. y AkceTlaƒítek1Aº9("3",XTlaƒítka3,YTlaƒítka3)
  1324. z ;akce tlaƒítka Mínus
  1325.   AnimP²edm╪tAnimuj(StiskTlaƒítka,XTlaƒítkaMínus,YTlaƒítkaMínus,0);
  1326.   AkceTlaƒítekOperace(Mínus)
  1327. A AkceTlaƒítka0()
  1328. B VypiτHodnotuPam╪ti()
  1329. C AkceTlaƒítkaBack()
  1330. D AkceTlaƒítkaZnaménko()
  1331. E AkceTlaƒítkaKƒ()
  1332. -c1----------------------SEZNAM PODM╓NEK-----------TENTO ⁿ╡DEK NEM╖NIT!-------
  1333. /1 ;jestliºe bylo zvoleno tlaƒítko LED
  1334.    (KlKlávesaStisknuta(KlScanL) Je Pravdiv∞) Nebo
  1335.      ((Kurzor.X >= XTlaƒítkaLED) ASouƒasn╪
  1336.      (Kurzor.Y >= YTlaƒítkaLED) ASouƒasn╪
  1337.      (Kurzor.X < XTlaƒítkaLED+µí²kaTlaƒítka) ASouƒasn╪
  1338.      (Kurzor.Y < YTlaƒítkaLED+V∞τkaTlaƒítka) ASouƒasn╪
  1339.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1340. /2 ;jestliºe bylo zvoleno tlaƒítko MC
  1341.    ((KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) ASouƒasn╪ (KlKlávesaStisknuta(KlScanC) Je Pravdiv∞)) Nebo
  1342.      ((Kurzor.X >= XTlaƒítkaMC) ASouƒasn╪
  1343.      (Kurzor.Y >= YTlaƒítkaMC) ASouƒasn╪
  1344.      (Kurzor.X < XTlaƒítkaMC+µí²kaTlaƒítka) ASouƒasn╪
  1345.      (Kurzor.Y < YTlaƒítkaMC+V∞τkaTlaƒítka) ASouƒasn╪
  1346.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1347. /3 ;jestliºe bylo zvoleno tlaƒítko C
  1348.    ((KlKlávesaStisknuta(KlScanC) Je Pravdiv∞) ASouƒasn╪ (KlKlávesaStisknuta(KlScanM) Je Nepravdiv∞)
  1349.      ASouƒasn╪ (KlKlávesaStisknuta(KlScanA) Je Nepravdiv∞)) Nebo
  1350.      ((Kurzor.X >= XTlaƒítkaC) ASouƒasn╪
  1351.      (Kurzor.Y >= YTlaƒítkaC) ASouƒasn╪
  1352.      (Kurzor.X < XTlaƒítkaC+µí²kaTlaƒítka) ASouƒasn╪
  1353.      (Kurzor.Y < YTlaƒítkaC+V∞τkaTlaƒítka) ASouƒasn╪
  1354.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1355. /4 ;jestliºe bylo zvoleno tlaƒítko AC
  1356.    ((KlKlávesaStisknuta(KlScanA) Je Pravdiv∞) ASouƒasn╪ (KlKlávesaStisknuta(KlScanC) Je Pravdiv∞)) Nebo
  1357.      ((Kurzor.X >= XTlaƒítkaAC) ASouƒasn╪
  1358.      (Kurzor.Y >= YTlaƒítkaAC) ASouƒasn╪
  1359.      (Kurzor.X < XTlaƒítkaAC+µí²kaTlaƒítka) ASouƒasn╪
  1360.      (Kurzor.Y < YTlaƒítkaAC+V∞τkaTlaƒítka) ASouƒasn╪
  1361.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1362. /5 ;jestliºe bylo zvoleno tlaƒítko OFF
  1363.    (KlKlávesaStisknuta(KlScanEsc) Je Pravdiv∞) Nebo
  1364.      ((Kurzor.X >= XTlaƒítkaOFF) ASouƒasn╪
  1365.      (Kurzor.Y >= YTlaƒítkaOFF) ASouƒasn╪
  1366.      (Kurzor.X < XTlaƒítkaOFF+µí²kaTlaƒítka) ASouƒasn╪
  1367.      (Kurzor.Y < YTlaƒítkaOFF+V∞τkaTlaƒítka) ASouƒasn╪
  1368.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1369. /6 ;jestliºe bylo zvoleno tlaƒítko MR
  1370.    ((KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) ASouƒasn╪ (KlKlávesaStisknuta(KlScanR) Je Pravdiv∞)) Nebo
  1371.      ((Kurzor.X >= XTlaƒítkaMR) ASouƒasn╪
  1372.      (Kurzor.Y >= YTlaƒítkaMR) ASouƒasn╪
  1373.      (Kurzor.X < XTlaƒítkaMR+µí²kaTlaƒítka) ASouƒasn╪
  1374.      (Kurzor.Y < YTlaƒítkaMR+V∞τkaTlaƒítka) ASouƒasn╪
  1375.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1376. /7 ;jestliºe bylo zvoleno tlaƒítko M+
  1377.    ((KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) ASouƒasn╪ ((KlKlávesaStisknuta(KlScanRovnítko) Je Pravdiv∞) Nebo
  1378.      (KlKlávesaStisknuta(KlScanNumPlus) Je Pravdiv∞))) Nebo
  1379.      ((Kurzor.X >= XTlaƒítkaMPlus) ASouƒasn╪
  1380.      (Kurzor.Y >= YTlaƒítkaMPlus) ASouƒasn╪
  1381.      (Kurzor.X < XTlaƒítkaMPlus+µí²kaTlaƒítka) ASouƒasn╪
  1382.      (Kurzor.Y < YTlaƒítkaMPlus+V∞τkaTlaƒítka) ASouƒasn╪
  1383.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1384. /8 ;jestliºe bylo zvoleno tlaƒítko M-
  1385.    ((KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) ASouƒasn╪ ((KlKlávesaStisknuta(KlScanMínus) Je Pravdiv∞) Nebo
  1386.      (KlKlávesaStisknuta(KlScanNumMínus) Je Pravdiv∞))) Nebo
  1387.      ((Kurzor.X >= XTlaƒítkaMMínus) ASouƒasn╪
  1388.      (Kurzor.Y >= YTlaƒítkaMMínus) ASouƒasn╪
  1389.      (Kurzor.X < XTlaƒítkaMMínus+µí²kaTlaƒítka) ASouƒasn╪
  1390.      (Kurzor.Y < YTlaƒítkaMMínus+V∞τkaTlaƒítka) ASouƒasn╪
  1391.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1392. /9 ;jestliºe bylo zvoleno tlaƒítko sqrt
  1393.    (KlKlávesaStisknuta(KlScanQ) Je Pravdiv∞) Nebo
  1394.      ((Kurzor.X >= XTlaƒítkaSqrt) ASouƒasn╪
  1395.      (Kurzor.Y >= YTlaƒítkaSqrt) ASouƒasn╪
  1396.      (Kurzor.X < XTlaƒítkaSqrt+µí²kaTlaƒítka) ASouƒasn╪
  1397.      (Kurzor.Y < YTlaƒítkaSqrt+V∞τkaTlaƒítka) ASouƒasn╪
  1398.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1399. /a ;jestliºe bylo zvoleno tlaƒítko 7
  1400.    (KlKlávesaStisknuta(KlScan7) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum7) Je Pravdiv∞) ASouƒasn╪
  1401.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1402.      ((Kurzor.X >= XTlaƒítka7) ASouƒasn╪
  1403.      (Kurzor.Y >= YTlaƒítka7) ASouƒasn╪
  1404.      (Kurzor.X < XTlaƒítka7+µí²kaTlaƒítka) ASouƒasn╪
  1405.      (Kurzor.Y < YTlaƒítka7+V∞τkaTlaƒítka) ASouƒasn╪
  1406.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1407. /b ;jestliºe bylo zvoleno tlaƒítko 8
  1408.    (KlKlávesaStisknuta(KlScan8) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum8) Je Pravdiv∞) ASouƒasn╪
  1409.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1410.      ((Kurzor.X >= XTlaƒítka8) ASouƒasn╪
  1411.      (Kurzor.Y >= YTlaƒítka8) ASouƒasn╪
  1412.      (Kurzor.X < XTlaƒítka8+µí²kaTlaƒítka) ASouƒasn╪
  1413.      (Kurzor.Y < YTlaƒítka8+V∞τkaTlaƒítka) ASouƒasn╪
  1414.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1415. /c ;jestliºe bylo zvoleno tlaƒítko 9
  1416.    (KlKlávesaStisknuta(KlScan9) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum9) Je Pravdiv∞) ASouƒasn╪
  1417.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1418.      ((Kurzor.X >= XTlaƒítka9) ASouƒasn╪
  1419.      (Kurzor.Y >= YTlaƒítka9) ASouƒasn╪
  1420.      (Kurzor.X < XTlaƒítka9+µí²kaTlaƒítka) ASouƒasn╪
  1421.      (Kurzor.Y < YTlaƒítka9+V∞τkaTlaƒítka) ASouƒasn╪
  1422.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1423. /d ;jestliºe bylo zvoleno tlaƒítko D╪leno
  1424.    (KlKlávesaStisknuta(KlScanLomítko) Je Pravdiv∞) Nebo
  1425.      ((Kurzor.X >= XTlaƒítkaD╪leno) ASouƒasn╪
  1426.      (Kurzor.Y >= YTlaƒítkaD╪leno) ASouƒasn╪
  1427.      (Kurzor.X < XTlaƒítkaD╪leno+µí²kaTlaƒítka) ASouƒasn╪
  1428.      (Kurzor.Y < YTlaƒítkaD╪leno+V∞τkaTlaƒítka) ASouƒasn╪
  1429.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1430. /e ;jestliºe bylo zvoleno tlaƒítko 4
  1431.    (KlKlávesaStisknuta(KlScan4) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum4) Je Pravdiv∞) ASouƒasn╪
  1432.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1433.      ((Kurzor.X >= XTlaƒítka4) ASouƒasn╪
  1434.      (Kurzor.Y >= YTlaƒítka4) ASouƒasn╪
  1435.      (Kurzor.X < XTlaƒítka4+µí²kaTlaƒítka) ASouƒasn╪
  1436.      (Kurzor.Y < YTlaƒítka4+V∞τkaTlaƒítka) ASouƒasn╪
  1437.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1438. /f ;jestliºe bylo zvoleno tlaƒítko 5
  1439.    (KlKlávesaStisknuta(KlScan5) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum5) Je Pravdiv∞) ASouƒasn╪
  1440.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1441.      ((Kurzor.X >= XTlaƒítka5) ASouƒasn╪
  1442.      (Kurzor.Y >= YTlaƒítka5) ASouƒasn╪
  1443.      (Kurzor.X < XTlaƒítka5+µí²kaTlaƒítka) ASouƒasn╪
  1444.      (Kurzor.Y < YTlaƒítka5+V∞τkaTlaƒítka) ASouƒasn╪
  1445.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1446. /g ;jestliºe bylo zvoleno tlaƒítko 6
  1447.    (KlKlávesaStisknuta(KlScan6) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum6) Je Pravdiv∞) ASouƒasn╪
  1448.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1449.      ((Kurzor.X >= XTlaƒítka6) ASouƒasn╪
  1450.      (Kurzor.Y >= YTlaƒítka6) ASouƒasn╪
  1451.      (Kurzor.X < XTlaƒítka6+µí²kaTlaƒítka) ASouƒasn╪
  1452.      (Kurzor.Y < YTlaƒítka6+V∞τkaTlaƒítka) ASouƒasn╪
  1453.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1454. /h ;jestliºe bylo zvoleno tlaƒítko Krát
  1455.    (KlKlávesaStisknuta(KlScanHv╪zdiƒka) Je Pravdiv∞) Nebo
  1456.      ((Kurzor.X >= XTlaƒítkaKrát) ASouƒasn╪
  1457.      (Kurzor.Y >= YTlaƒítkaKrát) ASouƒasn╪
  1458.      (Kurzor.X < XTlaƒítkaKrát+µí²kaTlaƒítka) ASouƒasn╪
  1459.      (Kurzor.Y < YTlaƒítkaKrát+V∞τkaTlaƒítka) ASouƒasn╪
  1460.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1461. /i ;jestliºe bylo zvoleno tlaƒítko 1
  1462.    (KlKlávesaStisknuta(KlScan1) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum1) Je Pravdiv∞) ASouƒasn╪
  1463.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1464.      ((Kurzor.X >= XTlaƒítka1) ASouƒasn╪
  1465.      (Kurzor.Y >= YTlaƒítka1) ASouƒasn╪
  1466.      (Kurzor.X < XTlaƒítka1+µí²kaTlaƒítka) ASouƒasn╪
  1467.      (Kurzor.Y < YTlaƒítka1+V∞τkaTlaƒítka) ASouƒasn╪
  1468.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1469. /j ;jestliºe bylo zvoleno tlaƒítko 2
  1470.    (KlKlávesaStisknuta(KlScan2) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum2) Je Pravdiv∞) ASouƒasn╪
  1471.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1472.      ((Kurzor.X >= XTlaƒítka2) ASouƒasn╪
  1473.      (Kurzor.Y >= YTlaƒítka2) ASouƒasn╪
  1474.      (Kurzor.X < XTlaƒítka2+µí²kaTlaƒítka) ASouƒasn╪
  1475.      (Kurzor.Y < YTlaƒítka2+V∞τkaTlaƒítka) ASouƒasn╪
  1476.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1477. /k ;jestliºe bylo zvoleno tlaƒítko 3
  1478.    (KlKlávesaStisknuta(KlScan3) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum3) Je Pravdiv∞) ASouƒasn╪
  1479.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1480.      ((Kurzor.X >= XTlaƒítka3) ASouƒasn╪
  1481.      (Kurzor.Y >= YTlaƒítka3) ASouƒasn╪
  1482.      (Kurzor.X < XTlaƒítka3+µí²kaTlaƒítka) ASouƒasn╪
  1483.      (Kurzor.Y < YTlaƒítka3+V∞τkaTlaƒítka) ASouƒasn╪
  1484.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1485. /l ;jestliºe bylo zvoleno tlaƒítko Mínus
  1486.    (KlKlávesaStisknuta(KlScanMínus) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumMínus) Je Pravdiv∞) Nebo
  1487.      ((Kurzor.X >= XTlaƒítkaMínus) ASouƒasn╪
  1488.      (Kurzor.Y >= YTlaƒítkaMínus) ASouƒasn╪
  1489.      (Kurzor.X < XTlaƒítkaMínus+µí²kaTlaƒítka) ASouƒasn╪
  1490.      (Kurzor.Y < YTlaƒítkaMínus+V∞τkaTlaƒítka) ASouƒasn╪
  1491.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1492. /m ;jestliºe bylo zvoleno tlaƒítko 0
  1493.    (KlKlávesaStisknuta(KlScan0) Je Pravdiv∞) Nebo ((KlKlávesaStisknuta(KlScanNum0) Je Pravdiv∞) ASouƒasn╪
  1494.      ((KlP²e²a╘ovaƒe() & KlP²e²a╘ovaƒStavNumLock) Je KlP²e²a╘ovaƒStavNumLock)) Nebo
  1495.      ((Kurzor.X >= XTlaƒítka0) ASouƒasn╪
  1496.      (Kurzor.Y >= YTlaƒítka0) ASouƒasn╪
  1497.      (Kurzor.X < XTlaƒítka0+µí²kaTlaƒítka) ASouƒasn╪
  1498.      (Kurzor.Y < YTlaƒítka0+V∞τkaTlaƒítka) ASouƒasn╪
  1499.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1500. /n ;jestliºe bylo zvoleno tlaƒítko Teƒka
  1501.    (KlKlávesaStisknuta(KlScanTeƒka) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumTeƒka) Je Pravdiv∞) Nebo
  1502.      ((Kurzor.X >= XTlaƒítkaTeƒka) ASouƒasn╪
  1503.      (Kurzor.Y >= YTlaƒítkaTeƒka) ASouƒasn╪
  1504.      (Kurzor.X < XTlaƒítkaTeƒka+µí²kaTlaƒítka) ASouƒasn╪
  1505.      (Kurzor.Y < YTlaƒítkaTeƒka+V∞τkaTlaƒítka) ASouƒasn╪
  1506.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1507. /o ;jestliºe bylo zvoleno tlaƒítko Rovnítko
  1508.    (KlKlávesaStisknuta(KlScanEnter) Je Pravdiv∞) Nebo
  1509.      ((Kurzor.X >= XTlaƒítkaRovnítko) ASouƒasn╪
  1510.      (Kurzor.Y >= YTlaƒítkaRovnítko) ASouƒasn╪
  1511.      (Kurzor.X < XTlaƒítkaRovnítko+µí²kaTlaƒítka) ASouƒasn╪
  1512.      (Kurzor.Y < YTlaƒítkaRovnítko+V∞τkaTlaƒítka) ASouƒasn╪
  1513.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1514. /p ;jestliºe bylo zvoleno tlaƒítko Plus
  1515.    (KlKlávesaStisknuta(KlScanRovnítko) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumPlus) Je Pravdiv∞) Nebo
  1516.      ((Kurzor.X >= XTlaƒítkaPlus) ASouƒasn╪
  1517.      (Kurzor.Y >= YTlaƒítkaPlus) ASouƒasn╪
  1518.      (Kurzor.X < XTlaƒítkaPlus+µí²kaTlaƒítka) ASouƒasn╪
  1519.      (Kurzor.Y < YTlaƒítkaPlus+V∞τkaTlaƒítka) ASouƒasn╪
  1520.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1521. /q ;jestliºe bylo zvoleno tlaƒítko Back
  1522.    (KlKlávesaStisknuta(KlScanBackspace) Je Pravdiv∞) Nebo
  1523.      ((Kurzor.X >= XTlaƒítkaBack) ASouƒasn╪
  1524.      (Kurzor.Y >= YTlaƒítkaBack) ASouƒasn╪
  1525.      (Kurzor.X < XTlaƒítkaBack+µí²kaTlaƒítka) ASouƒasn╪
  1526.      (Kurzor.Y < YTlaƒítkaBack+V∞τkaTlaƒítka) ASouƒasn╪
  1527.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1528. /r ;jestliºe bylo zvoleno tlaƒítko Z
  1529.    (KlKlávesaStisknuta(KlScanZ) Je Pravdiv∞) Nebo
  1530.      ((Kurzor.X >= XTlaƒítkaZnaménko) ASouƒasn╪
  1531.      (Kurzor.Y >= YTlaƒítkaZnaménko) ASouƒasn╪
  1532.      (Kurzor.X < XTlaƒítkaZnaménko+µí²kaTlaƒítka) ASouƒasn╪
  1533.      (Kurzor.Y < YTlaƒítkaZnaménko+V∞τkaTlaƒítka) ASouƒasn╪
  1534.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1535. /s ;jestliºe bylo zvoleno tlaƒítko K
  1536.    (KlKlávesaStisknuta(KlScanK) Je Pravdiv∞) Nebo
  1537.      ((Kurzor.X >= XTlaƒítkaKƒ) ASouƒasn╪
  1538.      (Kurzor.Y >= YTlaƒítkaKƒ) ASouƒasn╪
  1539.      (Kurzor.X < XTlaƒítkaKƒ+µí²kaTlaƒítka) ASouƒasn╪
  1540.      (Kurzor.Y < YTlaƒítkaKƒ+V∞τkaTlaƒítka) ASouƒasn╪
  1541.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé))
  1542. *0 Konec Je Nepravdiv∞
  1543. *1 ;dokud Je drºena klávesa L Nebo levé tlaƒítko myτi
  1544.    (KlKlávesaStisknuta(KlScanL) Je Pravdiv∞) Nebo
  1545.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1546. *2 ;dokud Je drºena klávesa M Nebo C Nebo levé tlaƒítko myτi
  1547.    (KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanC) Je Pravdiv∞) Nebo
  1548.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1549. *3 ;dokud Je drºena klávesa C Nebo levé tlaƒítko myτi
  1550.    (KlKlávesaStisknuta(KlScanC) Je Pravdiv∞) Nebo
  1551.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1552. *4 ;dokud Je drºena klávesa A Nebo C Nebo levé tlaƒítko myτi
  1553.    (KlKlávesaStisknuta(KlScanA) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanC) Je Pravdiv∞) Nebo
  1554.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1555. *5 ;dokud Je drºena klávesa Esc Nebo levé tlaƒítko myτi
  1556.    (KlKlávesaStisknuta(KlScanEsc) Je Pravdiv∞) Nebo
  1557.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1558. *6 ;dokud Je drºena klávesa M Nebo R Nebo levé tlaƒítko myτi
  1559.    (KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanR) Je Pravdiv∞) Nebo
  1560.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1561. *7 ;dokud Je drºena klávesa M Nebo + Nebo levé tlaƒítko myτi
  1562.    (KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanRovnítko) Je Pravdiv∞) Nebo
  1563.      (KlKlávesaStisknuta(KlScanNumPlus) Je Pravdiv∞) Nebo
  1564.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1565. *8 ;dokud Je drºena klávesa M Nebo - Nebo levé tlaƒítko myτi
  1566.    (KlKlávesaStisknuta(KlScanM) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanMínus) Je Pravdiv∞) Nebo
  1567.      (KlKlávesaStisknuta(KlScanNumMínus) Je Pravdiv∞) Nebo
  1568.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1569. *9 ;dokud Je drºena klávesa Q Nebo levé tlaƒítko myτi
  1570.    (KlKlávesaStisknuta(KlScanQ) Je Pravdiv∞) Nebo
  1571.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1572. *a ;dokud Je drºena klávesa 7 Nebo levé tlaƒítko myτi
  1573.    (KlKlávesaStisknuta(KlScan7) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum7) Je Pravdiv∞) Nebo
  1574.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1575. *b ;dokud Je drºena klávesa 8 Nebo levé tlaƒítko myτi
  1576.    (KlKlávesaStisknuta(KlScan8) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum8) Je Pravdiv∞) Nebo
  1577.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1578. *c ;dokud Je drºena klávesa 9 Nebo levé tlaƒítko myτi
  1579.    (KlKlávesaStisknuta(KlScan9) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum9) Je Pravdiv∞) Nebo
  1580.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1581. *d ;dokud Je drºena klávesa D╪leno Nebo levé tlaƒítko myτi
  1582.    (KlKlávesaStisknuta(KlScanLomítko) Je Pravdiv∞) Nebo
  1583.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1584. *e ;dokud Je drºena klávesa 4 Nebo levé tlaƒítko myτi
  1585.    (KlKlávesaStisknuta(KlScan4) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum4) Je Pravdiv∞) Nebo
  1586.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1587. *f ;dokud Je drºena klávesa 5 Nebo levé tlaƒítko myτi
  1588.    (KlKlávesaStisknuta(KlScan5) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum5) Je Pravdiv∞) Nebo
  1589.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1590. *g ;dokud Je drºena klávesa 6 Nebo levé tlaƒítko myτi
  1591.    (KlKlávesaStisknuta(KlScan6) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum6) Je Pravdiv∞) Nebo
  1592.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1593. *h ;dokud Je drºena klávesa Krát Nebo levé tlaƒítko myτi
  1594.    (KlKlávesaStisknuta(KlScanHv╪zdiƒka) Je Pravdiv∞) Nebo
  1595.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1596. *i ;dokud Je drºena klávesa 1 Nebo levé tlaƒítko myτi
  1597.    (KlKlávesaStisknuta(KlScan1) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum1) Je Pravdiv∞) Nebo
  1598.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1599. *j ;dokud Je drºena klávesa 2 Nebo levé tlaƒítko myτi
  1600.    (KlKlávesaStisknuta(KlScan2) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum2) Je Pravdiv∞) Nebo
  1601.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1602. *k ;dokud Je drºena klávesa 3 Nebo levé tlaƒítko myτi
  1603.    (KlKlávesaStisknuta(KlScan3) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum3) Je Pravdiv∞) Nebo
  1604.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1605. *l ;dokud Je drºena klávesa Mínus Nebo levé tlaƒítko myτi
  1606.    (KlKlávesaStisknuta(KlScanMínus) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumMínus) Je Pravdiv∞) Nebo
  1607.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1608. *m ;dokud Je drºena klávesa 0 Nebo levé tlaƒítko myτi
  1609.    (KlKlávesaStisknuta(KlScan0) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNum0) Je Pravdiv∞) Nebo
  1610.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1611. *n ;dokud Je drºena klávesa Teƒka Nebo levé tlaƒítko myτi
  1612.    (KlKlávesaStisknuta(KlScanTeƒka) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumTeƒka) Je Pravdiv∞) Nebo
  1613.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1614. *o ;dokud Je drºena klávesa Enter Nebo levé tlaƒítko myτi
  1615.    (KlKlávesaStisknuta(KlScanEnter) Je Pravdiv∞) Nebo
  1616.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1617. *p ;dokud Je drºena klávesa Plus Nebo levé tlaƒítko myτi
  1618.    (KlKlávesaStisknuta(KlScanRovnítko) Je Pravdiv∞) Nebo (KlKlávesaStisknuta(KlScanNumPlus) Je Pravdiv∞) Nebo
  1619.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1620. *q ;dokud Je drºena klávesa Back Nebo levé tlaƒítko myτi
  1621.    (KlKlávesaStisknuta(KlScanBackspace) Je Pravdiv∞) Nebo
  1622.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1623. *r ;dokud Je drºena klávesa Z Nebo levé tlaƒítko myτi
  1624.    (KlKlávesaStisknuta(KlScanZ) Je Pravdiv∞) Nebo
  1625.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1626. *s ;dokud Je drºena klávesa K Nebo levé tlaƒítko myτi
  1627.    (KlKlávesaStisknuta(KlScanK) Je Pravdiv∞) Nebo
  1628.      ((Myτ.Tlaƒítka & MyτTlLevé) Je MyτTlLevé)
  1629. =SP---------------------------------------------------------------------------
  1630. /***** konec programu *****/
  1631.