home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / tema / sgp / sgpdemo / SGPBALT.H < prev    next >
C/C++ Source or Header  |  1998-04-22  |  38KB  |  992 lines

  1. # ifndef __BALTAZAR__
  2. ///////////////////////////////////
  3. //
  4. //  Baltazar v5.00
  5. //  (c)1995,1996,1997 SGP Systems
  6. //
  7. //
  8. # define __BALTAZAR_VERSION__ 500 // v5.00
  9.  
  10. # pragma idchars = "╪τƒ²º∞áíéúàó╘£σ╖µ¼ⁿªφ╡╓ÉΘ▐α╥¢╒äëüößÄ╙ÜÖ╨╤ê¥ÆæûòΩΦôΓ"
  11.  
  12. typedef long TypP²edm╪t; // v4.00
  13.  
  14. // datum
  15. typedef struct {
  16.   int  Rok;   // 1980-2099
  17.   unsigned char
  18.     M╪síc,    // 1-12
  19.     Den,      // 1-28,29,30,31
  20.     DenT∞dne; // 0-6; 0=ned╪le, 1=pond╪lí...
  21.   } TypDatum;
  22.  
  23. // ƒas
  24. typedef struct {
  25.   unsigned char Hodiny, Minuty, Sekundy, Setiny;
  26.   } Typ¼as;
  27.  
  28. built_in(  3) void Vytvo²Prostor();
  29. built_in(  4) void ZruτProstor();
  30. built_in( 26) int  UloºScénu( char* jméno );
  31. built_in( 27) int  NaƒtiScénu( char* jméno );
  32. built_in( 11) int  RychlostBaltazara( unsigned rychlost );
  33. built_in(  5) void Popojdi( int pocet_policek );
  34. built_in(  6) void ¼ekej( int zpozdeni );
  35. built_in(  7) void VpravoVbok();
  36. built_in(  8) void VlevoVbok();
  37. built_in( 15) void Neviditeln∞();
  38. built_in( 16) void Viditeln∞();
  39. built_in(  9) int  NastavBarvu¼arování( int barva );
  40. built_in( 10) void ¼aruj( TypP²edm╪t predmet );
  41. built_in( 17) void Náhodn╪¼aruj( TypP²edm╪t predmet );
  42. built_in( 41) void ¼arujNaPozici( TypP²edm╪t predmet, int x, int y );
  43. built_in( 39) void BezObláƒku();
  44. built_in( 40) void SObláƒkem();
  45.  
  46. built_in( 25) int  ¼tiKlávesuZFronty();
  47. built_in( 65) void VyprázdniFrontuKláves();
  48. built_in( 57) int  BylaStisknutaKlávesa();
  49. # define           ¼tiKlávesuZFrontyS¼ekáním() (¼ekej(NaKlávesu),¼tiKlávesuZFronty())
  50. # define           ¼tiKlávesuS¼ekáním()        (VyprázdniFrontuKláves(),¼ekej(NaKlávesu),¼tiKlávesuZFronty())
  51. # define           ¼ekejNaKlávesu()            (VyprázdniFrontuKláves(),¼ekej(NaKlávesu))
  52. built_in(315) int  ¼tiKlávesuS¼ekáním2( int ¼as, int Klávesa );
  53.  
  54. built_in( 28) void P²epniNaText();
  55. built_in( 29) void P²epniNaBaltazara();
  56.  
  57. built_in( 76) void EscMínus();
  58. built_in( 75) void EscPlus();
  59.  
  60. built_in( 12) int  Sm╪rBaltazara();
  61. built_in( 18) int  PoziceBaltazaraX();
  62. built_in( 19) int  PoziceBaltazaraY();
  63. built_in( 13) TypP²edm╪t P²edm╪tP²edB();
  64. built_in( 14) int  Barva¼tverceP²edB();
  65. built_in( 20) int  PràchodnostP²edm╪tuP²edB();
  66. built_in( 21) int  VzdálenostP²edm╪tuP²edB( TypP²edm╪t predmet );
  67. built_in( 22) int  Vzdálenost¼tverceP²edB( int barva );
  68. built_in( 23) int  VzdálenostP²ekáºkyP²edB();
  69. built_in( 24) TypP²edm╪t NejbliºτíP²edm╪tP²edB();
  70.  
  71. built_in(  1) int   Txt¼tiZnak();
  72. built_in( 34) int   Txt¼tiCⁿet╪zec( char* retezec, int max_delka );
  73. built_in( 36) int   Txt¼tiI¼íslo( int& cele_cislo );
  74. built_in( 37) int   Txt¼tiU¼íslo( unsigned& prirozene_cislo );
  75. built_in( 35) int   Txt¼tiD¼íslo( double& realne_cislo );
  76. built_in( 38) int   Txt¼tiNov∞ⁿádek();
  77.  
  78. built_in(  0) void  TxtPiτZnak( char c );
  79. built_in( 30) char* TxtPiτⁿet╪zec( char* retezec );
  80. built_in( 32) int   TxtPiτL¼íslo( long d, int delka );
  81. built_in( 33) int   TxtPiτU¼íslo( unsigned d, int delka );
  82. built_in( 31) int   TxtPiτD¼íslo( double d, int delka, int desetinna_delka );
  83. # define            TxtPiτNov∞ⁿádek() (TxtPiτZnak('\n'))
  84.  
  85. built_in( 64) void  GrSmaºOkno();
  86. built_in( 67) void  GrNastavPozici( int x, int y );
  87. built_in( 69) int   GrPoziceX();
  88. built_in( 70) int   GrPoziceY();
  89. built_in( 68) int   GrNastavBarvuPop²edí( int barva );
  90. built_in( 77) int   GrNastavBarvuPozadí( int barva );
  91. built_in( 74) void  GrPiτZnak( int z );
  92. built_in( 66) void  GrPiτⁿet╪zec( char* text );
  93. built_in( 72) void  GrPiτL¼íslo( long d, int delka );
  94. built_in( 73) void  GrPiτU¼íslo( int d, int delka );
  95. built_in( 71) void  GrPiτD¼íslo( double d, int delka, int desetinna_delka );
  96.  
  97. built_in( 58) Typ¼as&    Systémov∞¼as( Typ¼as& cas );
  98. built_in( 59) TypDatum&  SystémovéDatum( TypDatum& datum );
  99.  
  100. built_in( 60) void  StopkyNuluj();
  101. built_in( 61) void  StopkyStart();
  102. built_in( 62) void  StopkyStop();
  103. built_in( 63) void  Stopky( Typ¼as& cas );
  104.  
  105. built_in( 78) void  PiτPort8( int port, unsigned char byte );
  106. built_in( 79) int   ¼tiPort8( int port );
  107. built_in( 80) void  PiτPort16( int port, int word );
  108. built_in( 81) int   ¼tiPort16( int port );
  109.  
  110. built_in( 45) double sqrt( double r );
  111. built_in( 46) double sqr( double r );
  112. built_in( 47) double atan( double r );
  113. built_in( 48) double abs( double r );
  114. built_in( 49) double cos( double r );
  115. built_in( 50) double sin( double r );
  116. built_in( 51) double exp( double r );
  117. built_in( 52) double frac( double r );
  118. built_in( 53) double integer( double r );
  119. built_in( 54) double log( double r );
  120.  
  121. built_in( 42) unsigned Náhodné¼íslo( unsigned rozsah );
  122. built_in( 43) void     Tón( unsigned vyska );
  123. built_in( 44) void     VypniTón();
  124. built_in(  2) unsigned Délkaⁿet╪zce( char* s );
  125.  
  126. // makra pro cyklus # (for)
  127. # define OdDoKrok(var,od,do,krok)            \
  128.            (var)= (od); (var)<=(do); (var)+= (krok)
  129. # define OdDolàDoKrok(var,od,do,krok)        \
  130.            (var)= (od); (var)>=(do); (var)-= (krok)
  131. # define Od0(var,kolikrat)                      \
  132.            (var)= 0; (var)<(kolikrat); ++(var)
  133. # define DolàDo0(var,kolikrat)                  \
  134.            (var)= ((kolikrat)-1); (var)>=0; --(var)
  135.  
  136. built_in(  0) void      putchar( char c );
  137. built_in(  1) int       getchar();
  138. built_in(  2) unsigned  strlen( char* s );
  139.  
  140. /////////////////////////////////
  141. //
  142. //  main() musí mít tento tvar:
  143.     extern void main();
  144.  
  145. ///////////////
  146. //
  147. //  KONSTANTY
  148. //
  149.  
  150. // p²edm╪ty
  151. # define Okraj            0L
  152. # define ¼tverec        (-1L)
  153. # define Ze╘              2L
  154.  
  155. // sm╪ry
  156. # define V∞chod           1
  157. # define Jih              2
  158. # define Západ            3
  159. # define Sever            4
  160.  
  161. // barvy
  162. # define ¼erná            0
  163. # define Tmavozelená      1
  164. # define Modrá            2
  165. # define Tmavomodrá       3
  166. # define Fialovoràºová    4
  167. # define ¼ervenohn╪dá     5
  168. # define Krémová          6
  169. # define Sv╪tloτedá       7
  170. # define Tmavoτedá        8
  171. # define Sv╪tlozelená     9
  172. # define Sv╪tlomodrá      10
  173. # define Fialová          11
  174. # define ¼ervená          12
  175. # define Oranºová         13
  176. # define ªlutá            14
  177. # define Bílá             15
  178.  
  179. // vzdálenost
  180. # define Nevidím          20
  181.  
  182. // ƒekání
  183. # define NaKlávesu        ((int)0x8001)
  184. # define NaMyτ            ((int)0x8002)
  185.  
  186. // klávesy
  187. # define KlNení           0
  188. # define KlDolà           0x5000
  189. # define KlDoleva         0x4b00
  190. # define KlDoprava        0x4d00
  191. # define KlNahoru         0x4800
  192. # define KlEnd            0x4f00
  193. # define KlHome           0x4700
  194. # define KlPageUp         0x4900
  195. # define KlPageDown       0x5100
  196. # define KlEsc            27
  197. # define KlEnter          '\r'
  198. # define KlIns            0x5200
  199. # define KlDel            0x5300
  200. # define KlF1             0x3b00
  201. # define KlF2             0x3c00
  202. # define KlF3             0x3d00
  203. # define KlF4             0x3e00
  204. # define KlF5             0x3f00
  205. # define KlF6             0x4000
  206. # define KlF7             0x4100
  207. # define KlF8             0x4200
  208. # define KlF9             0x4300
  209. # define KlF10            0x4400
  210. # define KlF11            0x8500
  211. # define KlF12            0x8600
  212.  
  213. // prázdn∞ ukazatel
  214. # define NULL             0
  215.  
  216. // grafické okénko
  217. # define GrV∞τkaZnaku                   10
  218. # define Grµí²kaZnaku                   8
  219. # define GrV∞τkaOkna                    26
  220. # define Grµí²kaOkna                    386
  221.  
  222. // prostor
  223. # define µí²kaProstoru                  15
  224. # define V∞τkaProstoru                  10
  225. # define PoƒetP²edm╪tà                  150
  226.  
  227. # define Pí                             3.1415926535897932385
  228.  
  229. ////////////////
  230. //
  231. //  verze 3.08
  232. //
  233.  
  234. built_in( 83) TypP²edm╪t VyberP²edm╪t( int cisla );
  235. built_in( 84) TypP²edm╪t P²edm╪tNaPozici( int x, int y );
  236. built_in( 85) int  Barva¼tverceNaPozici( int x, int y );
  237. built_in( 86) int  NastavPoziciBaltazara( int x, int y );
  238.  
  239. built_in( 87) int  TxtNastavBarvuPop²edí( int barva );
  240. built_in( 88) int  TxtNastavBarvuPozadí( int barva );
  241. built_in( 89) void TxtNastavPozici( int x, int y );
  242. built_in( 90) void TxtSmaºObrazovku();
  243.  
  244. ////////////////
  245. //
  246. //  verze 3.10
  247. //
  248.  
  249. // makra pro cyklus # (for)
  250. # define OdDoKrok(var,od,do,krok) \
  251.            (var)= (od); (var)<=(do); (var)+= (krok)
  252. # define OdDolàDoKrok(var,od,do,krok) \
  253.            (var)= (od); (var)>=(do); (var)-= (krok)
  254. # define Od0(var,kolikrat) \
  255.            (var)= 0; (var)<(kolikrat); ++(var)
  256. # define DolàDo0(var,kolikrat)\
  257.            (var)= ((kolikrat)-1); (var)>=0; --(var)
  258.  
  259. built_in(105) int GrafickáKarta();
  260. # define KartaCGA   1
  261. # define KartaEGA   3
  262. # define KartaHerc  7
  263. # define KartaVGA   9
  264. # define KartaVESA 10
  265.  
  266. ////////////////
  267. //
  268. //  verze 3.20
  269. //
  270.  
  271. built_in(104) int  DOSProve╘( char* radkovy_prikaz_DOSu );
  272. built_in(106) void GrNastavPàvodníPaletu();
  273. built_in(107) int  GrNaƒtiPaletu( char* jmeno_souboru );
  274. built_in(108) TypP²edm╪t Baltedit();
  275.  
  276. ////////////////
  277. //
  278. //  verze 3.3+
  279. //
  280.  
  281. // nová synonyma pro testování
  282. # define Neplatí               !
  283. # define JeMenτíNeº            <
  284. # define JeMenτíNeboRovno      <=
  285. # define JeV╪tτíNeº            >
  286. # define JeV╪tτíNeboRovno      >=
  287. # define Je                    ==
  288. # define Není                  !=
  289. # define ASouƒasn╪             &&
  290. # define Nebo                  ||
  291. # define Pravdiv∞              1
  292. # define Nepravdiv∞            0
  293.  
  294. // barvy pro textov∞ mód
  295. # define Txt¼erná               0
  296. # define TxtModrá               1
  297. # define TxtZelená              2
  298. # define TxtModrozelená         3
  299. # define Txt¼ervená             4
  300. # define TxtFialová             5
  301. # define TxtHn╪dá               6
  302. # define TxtSv╪tloτedá          7
  303. # define TxtTmavoτedá           8
  304. # define TxtSv╪tlomodrá         9
  305. # define TxtSv╪tlozelená       10
  306. # define TxtSv╪tlomodrozelená  11
  307. # define TxtSv╪tloƒervená      12
  308. # define TxtSv╪tlofialová      13
  309. # define Txtªlutá              14
  310. # define TxtBílá               15
  311. // blikající pop²edí
  312. # define TxtBlikat           0x80
  313.  
  314. built_in(109) int  Gr¼tiCⁿet╪zec( char* prompt, char* retezec, int pocet_znaku, int edituj_obsah, int barvy );
  315. built_in(110) int  Gr¼tiI¼íslo( char* prompt, int& cislo, int pocet_znaku, int edituj_obsah, int barvy );
  316. built_in(111) int  Gr¼tiU¼íslo( char* prompt, unsigned& cislo, int pocet_znaku, int edituj_obsah, int barvy );
  317. built_in(112) int  Gr¼tiL¼íslo( char* prompt, long& cislo, int pocet_znaku, int edituj_obsah, int barvy );
  318. built_in(113) int  Gr¼tiD¼íslo( char* prompt, double& cislo, int pocet_znaku, int edituj_obsah, int barvy );
  319. built_in(114) int  Gr¼tiZnak( char* prompt, char& znak, int edituj_obsah, int barvy );
  320.  
  321. built_in(115) int  GrNastavBarvy( int barvy );
  322. built_in(116) int  GrBarvy();
  323. built_in(117) int  GrBarvaPop²edí();
  324. built_in(118) int  GrBarvaPozadí();
  325. built_in(119) void GrPiτNov∞ⁿádek();
  326.  
  327. built_in(120) char* strcpy( char* ⁿet╪zec1, char* ⁿet╪zec2 );
  328. built_in(121) char* strcpyn( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
  329. built_in(122) char* strcat( char* ⁿet╪zec1, char* ⁿet╪zec2 );
  330. built_in(123) char* strcatn( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
  331. built_in(124) char* strchr( char* ⁿet╪zec, int Znak );
  332. built_in(125) char* strrchr( char* ⁿet╪zec, int Znak );
  333. built_in(126) char* strstr( char* ⁿet╪zec1, char* ⁿet╪zec2 );
  334. built_in(127) char* strend( char* ⁿet╪zec );
  335.  
  336. built_in(128) int   strcmp( char* ⁿet╪zec1, char* ⁿet╪zec2 );
  337. built_in(129) int   strncmp( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
  338.  
  339. built_in(130) void* memcpy( void* Kam, void* Odkud, unsigned Poƒet );
  340. built_in(130) void* memmove( void* Kam, void* Odkud, unsigned Poƒet );
  341. built_in(131) void* memset( void* Co, int Hodnota, unsigned Poƒet );
  342.  
  343. built_in(132) int   TxtNastavBarvy( int barvy );
  344. built_in(133) int   TxtBarvy();
  345. built_in(134) int   TxtBarvaPop²edí();
  346. built_in(135) int   TxtBarvaPozadí();
  347. built_in(136) int   TxtPoziceX();
  348. built_in(137) int   TxtPoziceY();
  349. built_in(138) int   Txt¼tiL¼íslo( long& number );
  350.  
  351. //////////////////////
  352. //
  353. //  verze 4.00, 5.00
  354. //
  355.  
  356. // klávesa
  357. built_in(2)   int      gKlávesa;
  358.  
  359. // peek&poke
  360. built_in( 91) unsigned DataSeg();
  361. built_in( 92) int  peek(  unsigned seg, unsigned ofs );
  362. built_in( 93) int  peekb( unsigned seg, unsigned ofs );
  363. built_in( 94) void poke(  unsigned seg, unsigned ofs, int hodnota16);
  364. built_in( 95) void pokeb( unsigned seg, unsigned ofs, int hodnota8 );
  365.  
  366. // registry procesoru 80x86
  367. typedef struct {
  368.   unsigned AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags;
  369.   } TypRegistry;
  370.  
  371. // registr p²íznakà (Flags)
  372. # define FlagCarry     (1<<0)  // carry
  373. # define FlagParity    (1<<2)  // parity
  374. # define FlagAuxCarry  (1<<4)  // aux carry
  375. # define FlagZero      (1<<6)  // zero
  376. # define FlagSign      (1<<7)  // sign
  377. # define FlagTrap      (1<<8)  // trap
  378. # define FlagInterrupt (1<<9)  // interrupt
  379. # define FlagDirection (1<<10) // direction
  380. # define FlagOverflow  (1<<11) // overflow
  381.  
  382. // sw p²eruτení (interrupt)
  383. built_in( 96) void intr( int intr_cislo, TypRegistry& registry );
  384.  
  385. // práce s pam╪tí
  386. built_in( 97) void fmemcpy( unsigned cil_seg,   unsigned cil_ofs,
  387.                             unsigned zdroj_seg, unsigned zdroj_ofs,
  388.                             unsigned Velikost   );
  389. built_in( 97) void fmemmove( unsigned cil_seg,   unsigned cil_ofs,
  390.                              unsigned zdroj_seg, unsigned zdroj_ofs,
  391.                              unsigned Velikost   );
  392. built_in( 98) void fmemset( unsigned cil_seg,   unsigned cil_ofs,
  393.                             int hodnota8, unsigned Velikost );
  394.  
  395. // komunikace po COM lince
  396. built_in(100) int COMP²ipoj( unsigned char COM, unsigned char rychlost );
  397. built_in(101) int COMOdpoj( unsigned char COM );
  398. built_in(102) int COM¼ti( unsigned char COM );
  399. built_in(103) int COMPiτ( unsigned char COM, unsigned char hodnota );
  400.  
  401. # define COM110Bd        0
  402. # define COM150Bd        1
  403. # define COM300Bd        2
  404. # define COM600Bd        3
  405. # define COM1200Bd    4
  406. # define COM2400Bd    5
  407. # define COM4800Bd    6
  408. # define COM9600Bd    7
  409. # define COM19200Bd   8
  410. # define COM38400Bd   9
  411. # define COM115200Bd 10
  412.  
  413. // práce s ²et╪zci - dokonƒení
  414. built_in(139) int   stricmp( char* s1, char* s2 );
  415. built_in(140) int   strnicmp( char* s1, char* s2, unsigned delka );
  416. built_in(141) char* strlwr( char* s );
  417. built_in(142) char* strupr( char* s );
  418.  
  419. built_in(143) int czchrupr( int znak );
  420. built_in(144) int czchrlwr( int znak );
  421. built_in(145) int czchrplain( int znak );
  422.  
  423. built_in(146) char* czstrupr( char* retezec );
  424. built_in(147) char* czstrlwr( char* retezec );
  425. built_in(148) char* czstrplain( char* retezec );
  426.  
  427. built_in(149) int czstrcmp( char* ret1, char* ret2 );
  428. built_in(150) int czstricmp( char* ret1, char* ret2 );
  429. built_in(151) int czstriicmp( char* ret1, char* ret2 );
  430.  
  431. built_in(153) long   StrNaL¼íslo( char* retezec, int* chyba );
  432. built_in(154) double StrNaD¼íslo( char* retezec, int* chyba );
  433.  
  434. built_in(155) char* L¼ísloNaⁿet╪zec( char* retezec, long cislo, int delka );
  435. built_in(156) char* D¼ísloNaⁿet╪zec( char* retezec, double cislo,
  436.                                      int delka, int desetinna_delka );
  437.  
  438. built_in(159) int PràchodnostP²edm╪tu( TypP²edm╪t predm );
  439. built_in(160) int NastavPràchodnostP²edm╪tu( TypP²edm╪t predm,
  440.                                                   int pruch );
  441. built_in(161) TypP²edm╪t NaƒtiP²edm╪ty( TypP²edm╪t PrvníP²edm╪t, int Poƒet );
  442. built_in(162) int  NastavJménoBankyP²edm╪tà( char* jmeno_souboru );
  443. built_in(163) void GrNastavPaletu( TypP²edm╪t cislo_predmetu );
  444.  
  445. built_in(332) void NastavZaƒátekAnimaceBaltazara( TypP²edm╪t první );
  446.  
  447. built_in(164) int TransparentníBarvaP²edm╪tu( TypP²edm╪t predm );
  448. built_in(165) int NastavTransparentníBarvuP²edm╪tu( TypP²edm╪t predm, int barva );
  449.  
  450. built_in(166) long RychlostCPU();
  451. built_in(333) void ¼ekejNaVR();
  452. built_in(167) int  Txtⁿádkov∞Editor( string& ret, unsigned max_znaku,
  453.                                      unsigned sirka, int pozice, int* ukonceni );
  454. built_in(168) int  NastavViditelnostBaltazara( int Viditelnost );
  455.  
  456. // textov∞ reºim
  457. # define TxtMód¼B40x25 0x001
  458. # define TxtMódB40x25  0x002
  459. # define TxtMód¼B80x25 0x003
  460. # define TxtMódB80x25  0x004
  461. # define TxtMódMono    0x005
  462. # define TxtMód¼B80x50 0x103
  463. # define TxtMódB80x50  0x104
  464.  
  465. built_in(170) int TxtNastavMód( int mod );
  466. built_in(313) int TxtMód();
  467.  
  468. # define TxtKurzorNeviditeln∞ 0
  469. # define TxtKurzorMal∞        1
  470. # define TxtKurzorVelk∞       2
  471.  
  472. built_in(171) int TxtNastavTvarKurzoru( int tvar );
  473. built_in(172) int TxtMaxX();
  474. built_in(173) int TxtMaxY();
  475. built_in(306) int Txt¼tiSⁿet╪zec( string& ⁿet╪zec );
  476.  
  477. // grafika
  478. # define Grµí²kaPolíƒka  39
  479. # define GrV∞τkaPolíƒka  29
  480.  
  481. built_in(175) void GrNastavPoziciRel( int x, int y );
  482. built_in(176) int  GrNastavV∞stup( int vystup, ...);
  483.  
  484. # define GrV∞stupOkénko               0
  485. # define GrV∞stupOkno                 1
  486. # define GrV∞stupPlocha               2
  487. # define GrV∞stupUºivatelsk∞1         3
  488. # define GrV∞stupUºivatelsk∞2         4
  489. # define GrV∞stupUºivatelsk∞3         5
  490. # define GrV∞stupUºivatelsk∞4         6
  491. # define GrV∞stupUºivatelsk∞Nastavení 8
  492.  
  493. # define GrV∞stupOkénkoX 229
  494. # define GrV∞stupOkénkoY 310
  495. # define GrV∞stupOknoX    25
  496. # define GrV∞stupOknoY    11
  497.  
  498. typedef unsigned char TypGrV∞plσVzorek[8];
  499.  
  500. built_in(177) void GrNastavV∞plσ( int druh, ...);
  501.  
  502. # define GrV∞plσPlná   0
  503. # define GrV∞plσVzorek 1
  504.  
  505. built_in(178) void GrNastavLinku( int druh, ...);
  506.  
  507. # define GrLinkaPlná   1
  508. # define GrLinkaVzorek 2
  509. # define GrLinkaTenká  4
  510. # define GrLinkaTlustá 8
  511.  
  512. # define GrLinkaZpàsobKresleníNormáln╪ 0x10
  513. # define GrLinkaZpàsobKresleníXor      0x20
  514. # define GrLinkaZpàsobKresleníOr       0x30
  515. # define GrLinkaZpàsobKresleníAnd      0x40
  516. # define GrLinkaZpàsobKresleníNot      0x50
  517.  
  518. built_in(179) int GrNastavText( int druh );
  519.  
  520. # define GrTextSPozadím  0
  521. # define GrTextBezPozadí 1
  522.  
  523. built_in(180) void GrKresliObdélník( int X1, int Y1, int X2, int Y2 );
  524. built_in(181) void GrKresliVypln╪n∞Obdélník( int X1, int Y1, int X2, int Y2 );
  525. built_in(182) void GrKresliElipsu( int x, int y,
  526.                                    double pocatecni_uhel, // radiány
  527.                                    double koncovy_uhel,   // radiány
  528.                                    unsigned x_polomer,
  529.                                    unsigned y_polomer );
  530. built_in(183) void GrKresliLinku( int X1, int Y1, int X2, int Y2 );
  531. built_in(184) void GrKresliLinkuDo( int x, int y );
  532. built_in(185) void GrKresliLinkuRel( int DX, int dy );
  533. built_in(186) void GrKresliMnohoúhelník( unsigned pocet_bodu,
  534.                                          int X1, int Y1, ...);
  535. built_in(187) int  GrKresliVypln╪n∞Mnohoúhelník( unsigned pocet_bodu,
  536.                                                  int X1, int Y1, ...);
  537. built_in(188) int  GrVyplσPlochu( int x, int y, int barva_okraje );
  538. built_in(189) int  GrBarvaBodu( int x, int y );
  539. built_in(190) void GrKresliBod( int x, int y, int barva );
  540. built_in(191) int  GrKresliP²edm╪t( TypP²edm╪t predm, int transparentn╪,
  541.                                     int x, int y );
  542. built_in(316) int  GrKresliP²edm╪ty( TypP²edm╪t predm, int transparentn╪,
  543.                                      int x, int y, int τ, int v );
  544. built_in(192) int  GrNastavObrazP²edm╪tu( TypP²edm╪t predm,
  545.                                           int x, int y,
  546.                                           int pouze_z_plochy );
  547. built_in(317) int  GrNastavObrazP²edm╪tà( TypP²edm╪t predm,
  548.                                           int x, int y,
  549.                                           int τ, int v,
  550.                                           int pouze_z_plochy );
  551. built_in(329) int  GrNaƒtiBMP( int x, int y, char* JménoSouboru,
  552.                                int BMPx, int BMPy, int BMPw, int BMPh,
  553.                                int BMPPaleta );
  554. built_in(330) int  GrUloºBMP( int x, int y, int w, int h, char* JménoSouboru );
  555.  
  556. typedef struct {
  557.   long Velikost;
  558.   long µí²ka;
  559.   long V∞τka;
  560.   unsigned PoƒetRovin;
  561.   unsigned BityNaBod;
  562.   long Komprese;
  563.   long VelikostObrázku;
  564.   long XBodyNaMetr, YBodyNaMetr;
  565.   long PoƒetPouºit∞chBarev;
  566.   long PoƒetDàleºit∞chBarev;
  567.   } TypBMPInfo;
  568.  
  569. built_in(331) int  GrNaƒtiBMPInfo( char* JménoSouboru, TypBMPInfo& BMPInfo );
  570.  
  571. typedef struct {
  572.   int X, Y, X1, Y1, X2, Y2;
  573.   } TypGrPoziceOblouku;
  574.  
  575. built_in(193) void GrPoziceOblouku( TypGrPoziceOblouku& obl_poz );
  576.  
  577. built_in(194) int  GrMaxX();
  578. built_in(195) int  GrMaxY();
  579.  
  580. # define GrMódEGA           1
  581. # define GrMódVGA           2
  582. # define GrMódVESA800x600   3
  583. # define GrMódVESA1024x768  4
  584. # define GrMódVESA1280x1024 5
  585. built_in(196) int  GrNastavMód( int Mód );
  586. built_in(312) int  GrMód();
  587. built_in(314) void GrNastavBarvuPalety( int ¼íslo, int R, int G, int B );
  588. built_in(326) void GrBarvaPalety( int ¼íslo, int& R, int& G, int& B );
  589. built_in(307) int  Gr¼tiSⁿet╪zec( char* prompt, string& retezec, int pocet_znaku, int edituj_obsah, int barvy );
  590. built_in(320) int  Grⁿádkov∞Editor( string& retezec, int pocet_znaku, int pozice, int blok_zacatek, int blok_konec, int barvy );
  591.  
  592. // argumenty a prom╪nné DOSu
  593. built_in(197) int      DOSPoƒetArgumentà();
  594. built_in(198) string   DOSArgument( int ¼íslo );
  595. built_in(199) string   DOSProm╪nná( char* Jméno );
  596. built_in(200) unsigned DOSVerze();
  597. built_in(201) int      DOSChyba();
  598.  
  599. // chyby DOSu
  600. # define DOSChybaSoubor                 2
  601. # define DOSChybaCesta                  3
  602. # define DOSChybaMnohoSouborà           4
  603. # define DOSChybaP²ístupOdep²en         5
  604. # define DOSChybaJednotka              15
  605. # define DOSChybaAktuálníAdresá²       16
  606. # define DOSChybaP²ejmenování          17
  607. # define DOSChybaDalτíPoloºkaAdresá²e  18
  608.  
  609. // disk a adresá²e ( A=adresá², AP=poloºka adresá²e )
  610. built_in(203) long DiskVolnéMísto( int jednotka );
  611. built_in(204) long DiskVelikost( int jednotka );
  612.  
  613. built_in(205) int    Adresá²Vytvo²( char* cesta );
  614. built_in(206) int    Adresá²Smaº( char* cesta );
  615. built_in(207) string Adresá²Aktuální( int Jednotka );
  616. built_in(208) int    Adresá²NastavAktuální( char* cesta );
  617.  
  618. typedef struct {
  619.   char _reserved[21];
  620.   unsigned char Atributy;
  621.   long DatumA¼as;
  622.   long Velikost;
  623.   char Jméno[13];
  624.   } TypPoloºkaAdresá²e;
  625.  
  626. built_in(209) int  PoloºkaAdresá²eNajdiPrvní( char* cesta, unsigned Atributy,
  627.                                               TypPoloºkaAdresá²e& apol );
  628. built_in(210) int  PoloºkaAdresá²eNajdiDalτí( TypPoloºkaAdresá²e& apol );
  629. built_in(211) void PoloºkaAdresá²eDekódujDatumA¼as( TypPoloºkaAdresá²e& apol,
  630.                                                     TypDatum& datum, Typ¼as& cas );
  631.  
  632. // soubory ( S=soubor )
  633. typedef long TypSoubor;
  634.  
  635. built_in(213) int    SouborNulujChybu( TypSoubor s );
  636. built_in(221) int    SouborExistuje( char* Jméno );
  637. built_in(214) string SouborAbsolutníCesta( char* Jméno );
  638. built_in(215) string SouborHledej( char* Jméno, char* SeznamAdresá²à );
  639. built_in(216) int    SouborRozd╪lCestu( char* Cesta,
  640.                                         string& Adresá², string& Jméno,
  641.                                         string& P²ípona );
  642. // atributy souboru
  643. # define SouborAtributPouze¼tení 0x01
  644. # define SouborAtributSkryt∞     0x02
  645. # define SouborAtributSystémov∞  0x04
  646. # define SouborAtributSvazek     0x08
  647. # define SouborAtributAdresá²    0x10
  648. # define SouborAtributArchivní   0x20
  649.  
  650. built_in(217) unsigned SouborAtributy( char* Jméno );
  651. built_in(218) int      SouborNastavAtributy( char* Jméno, unsigned Atributy );
  652.  
  653. built_in(219) int SouborSmaº( char* Jméno );
  654. built_in(220) int SouborP²ejmenuj( char* stare_jmeno, char* nove_jmeno );
  655.  
  656. // p²ístup k souboru
  657. # define SouborP²ístup¼tení 0x01 // ƒtení
  658. # define SouborP²ístupZápis 0x02 // zápis
  659. // je-li instalován SHARE.EXE
  660. # define SouborP²ístupOdep²i¼tení       0x30 // odep²i ƒtení
  661. # define SouborP²ístupOdep²iZápis       0x20 // odep²i zápis
  662. # define SouborP²ístupOdep²i¼teníIZápis 0x10 // odep²i ƒtení a zápis
  663. # define SouborP²ístupPovolVτe          0x40 // neodep²i nic
  664. # define SouborP²ístupPrivátní          0x80
  665. // formát
  666. # define SouborP²ístupTextov∞ 0x100
  667. # define SouborP²ístupBinární 0x200
  668.  
  669. built_in(222) TypSoubor SouborOtev²i( char* Jméno, unsigned pristup );
  670. built_in(223) int SouborZapiτBuffer( TypSoubor s );
  671. built_in(224) int SouborZav²i( TypSoubor& s );
  672. built_in(225) int SouborU²ízni( TypSoubor s );
  673.  
  674. built_in(226) unsigned Soubor¼tiBlok( TypSoubor s, void* blok, unsigned Velikost );
  675. built_in(227) int      Soubor¼tiZnak( TypSoubor s );
  676. built_in(228) unsigned Soubor¼tiCⁿet╪zec( TypSoubor s, char* retezec, unsigned max_delka );
  677. built_in(247) unsigned Soubor¼tiSⁿet╪zec( TypSoubor s, string& retezec );
  678.  
  679. built_in(229) unsigned SouborPiτBlok( TypSoubor s, void* blok, unsigned Velikost );
  680. built_in(230) int SouborPiτZnak( TypSoubor s, char c );
  681. built_in(231) int SouborPiτⁿet╪zec( TypSoubor s, char* retezec );
  682.  
  683. built_in(232) int SouborDataPlatná( TypSoubor s );
  684. built_in(321) int SouborKonec( TypSoubor s );
  685. built_in(233) int SouborChyba( TypSoubor s );
  686.  
  687. built_in(322) unsigned SouborHandle( TypSoubor s );
  688. built_in(323) int SouborJeZa²ízení( TypSoubor s );
  689. built_in(324) int SouborP²ipravenPro¼tení( TypSoubor s );
  690. built_in(325) int SouborP²ipravenProZápis( TypSoubor s );
  691.  
  692. // nastavení pozice souboru odkud
  693. # define SouborPoziceOdZaƒátku  0
  694. # define SouborPoziceOdAktuální 1
  695. # define SouborPoziceOdKonce    2
  696.  
  697. built_in(234) long SouborPozice( TypSoubor s );
  698. built_in(235) long SouborNastavPozici( TypSoubor s, long pozice, int odkud );
  699. built_in(236) long SouborVelikost( TypSoubor s );
  700.  
  701. built_in(237) int SouborDatumA¼as( TypSoubor s, TypDatum& datum, Typ¼as& cas );
  702. built_in(238) int SouborNastavDatumA¼as( TypSoubor s, TypDatum& datum, Typ¼as& cas );
  703.  
  704. built_in(239) int SouborPiτL¼íslo( TypSoubor s, long d, int delka );
  705. built_in(240) int SouborPiτU¼íslo( TypSoubor s, unsigned d, int delka );
  706. built_in(241) int SouborPiτD¼íslo( TypSoubor s, double d, int delka, int desetinna_delka );
  707. # define          SouborPiτNov∞ⁿádek(s) (SouborPiτZnak((s),'\n'))
  708.  
  709. built_in(242) int Soubor¼tiI¼íslo( TypSoubor s, int& cele_cislo );
  710. built_in(243) int Soubor¼tiU¼íslo( TypSoubor s, unsigned& prirozene_cislo );
  711. built_in(244) int Soubor¼tiD¼íslo( TypSoubor s, double& realne_cislo );
  712. built_in(245) int Soubor¼tiL¼íslo( TypSoubor s, long& velke_cele_cislo );
  713. built_in(246) int Soubor¼tiNov∞ⁿádek( TypSoubor s );
  714.  
  715. // myτ
  716. typedef struct {
  717.   char Typ;
  718.   char Tlaƒítka;
  719.   int  X, Y;
  720.   long ¼as;
  721.   } TypMyτUdálost;
  722.  
  723. built_in(0) TypMyτUdálost gMyτUdálost;
  724.  
  725. typedef struct {
  726.   int  X, Y;
  727.   char Tlaƒítka;
  728.   } TypMyτStav;
  729.  
  730. // událost myτi - Typ
  731. #define MyτUdálostªádná                0 // ºádná událost nebyla zaznamenána
  732. #define MyτUdálostPohyb                1 // pohyb myτi - zm╪na sou²adnice
  733. #define MyτUdálostLevéTlDolà           2 // levé tlaƒítko dolà - drºeno
  734. #define MyτUdálostLevéTlNahoru         4 // levé tlaƒítko nahoru - puτt╪no
  735. #define MyτUdálostPravéTlDolà          8 // pravé tlaƒítko dolà - drºeno
  736. #define MyτUdálostPravéTlNahoru       16 // pravé tlaƒítko nahoru - puτt╪no
  737. #define MyτUdálostProst²edníTlDolà    32 // st²ední tlaƒítko dolà - drºeno
  738. #define MyτUdálostProst²edníTlNahoru  64 // st²ední tlaƒítko nahoru - puτt╪no
  739.  
  740. // tlaƒítka myτi (maska)
  741. #define MyτTlLevé       1 // levé tlaƒítko drºeno
  742. #define MyτTlPravé      2 // pravé tlaƒítko drºeno
  743. #define MyτTlProst²ední 4 // st²ední tlaƒítko drºeno
  744. #define MyτTlShift      8 // Shift p²e²a╘ovaƒ drºen
  745. #define MyτTlCtrl      16 // Ctrl p²e²a╘ovaƒ drºen
  746. #define MyτTlAlt       32 // Alt p²e²a╘ovaƒ drºen
  747.  
  748. built_in(248) int MyτZaƒátekObsluhy();
  749. built_in(249) void MyτKonecObsluhy();
  750. built_in(250) void MyτZobrazKurzor();
  751. built_in(251) void MyτSchovejKurzor();
  752. built_in(252) void MyτStav( TypMyτStav& stav );
  753. built_in(253) void Myτ¼tiUdálost( TypMyτUdálost& udalost );
  754. built_in(254) void MyτNastavPozici( int x, int y );
  755. built_in(255) void MyτNastavRozsah( int minx, int miny, int maxx, int maxy );
  756. built_in(256) void MyτNastavGrKurzor( TypP²edm╪t p²edm╪t );
  757. built_in(318) void MyτZm╪σGrKurzor( TypP²edm╪t p²edm╪t );
  758. built_in(257) void MyτNastavTxtKurzor( unsigned and_mask, unsigned xor_mask );
  759. built_in(319) void MyτZm╪σTxtKurzor( unsigned and_mask, unsigned xor_mask );
  760. built_in(258) void MyτVyprázdniFrontuUdálostí();
  761.  
  762.  
  763. // obsluha klávesnice
  764. typedef struct {
  765.   char Typ;
  766.   char Klávesa;
  767.   unsigned P²e²a╘ovaƒe;
  768.   long ¼as;
  769.   } TypKlUdálost;
  770.  
  771. built_in(1) TypKlUdálost gKlUdálost;
  772.  
  773. // událost klávesnice - Typ
  774. #define KlUdálostªádná     0 // ºádná událost nebyla zaznamenána
  775. #define KlUdálostKlDolà    1 // klávesa dolà - drºena
  776. #define KlUdálostKlNahoru  2 // klávesa nahoru - puτt╪na
  777.  
  778. // p²e²a╘ovaƒe klávesnice
  779. #define KlP²e²a╘ovaƒPrav∞Shift  (1<< 0) // pravá Shift stisknuta
  780. #define KlP²e²a╘ovaƒLev∞Shift   (1<< 1) // levá Shift stisknuta
  781. #define KlP²e²a╘ovaƒShift       (KlP²e²a╘ovaƒPrav∞Shift|KlP²e²a╘ovaƒLev∞Shift) // libovolná Shift
  782. #define KlP²e²a╘ovaƒCtrl        (1<< 2) // libovolná Ctrl stisknuta
  783. #define KlP²e²a╘ovaƒAlt         (1<< 3) // libovolná Alt stisknuta
  784. #define KlP²e²a╘ovaƒLev∞Ctrl    (1<< 8) // levá Ctrl stisknuta
  785. #define KlP²e²a╘ovaƒLev∞Alt     (1<< 9) // levá Alt stisknuta
  786. #define KlP²e²a╘ovaƒSysReq      (1<<10) // SysReq stisknuta
  787. #define KlP²e²a╘ovaƒScrollLock  (1<<12) // ScrollLock stisknuta
  788. #define KlP²e²a╘ovaƒNumLock     (1<<13) // NumLock stisknuta
  789. #define KlP²e²a╘ovaƒCapsLock    (1<<14) // CapsLock stisknuta
  790. #define KlP²e²a╘ovaƒInsert      (1<<15) // Insert stisknuta
  791.  
  792. #define KlP²e²a╘ovaƒStavScrollLock (1<< 4) // p²epínaƒ ScrollLock zapnut
  793. #define KlP²e²a╘ovaƒStavNumLock    (1<< 5) // p²epínaƒ NumLock zapnut
  794. #define KlP²e²a╘ovaƒStavCapsLock   (1<< 6) // p²epínaƒ CapsLock zapnut
  795. #define KlP²e²a╘ovaƒStavInsert     (1<< 7) // p²epínaƒ Insert zapnut
  796.  
  797. built_in(260) void KlZaƒátekObsluhy( int AutoOpakování );
  798. built_in(261) void KlKonecObsluhy();
  799. built_in(262) int  KlKlávesaStisknuta( int Klávesa );
  800. built_in(263) unsigned KlP²e²a╘ovaƒe();
  801. built_in(264) void Kl¼tiUdálost( TypKlUdálost& udalost );
  802. built_in(265) void KlVyprázdniFrontuUdálostí();
  803.  
  804. // pàvodní klávesnice XT/AT - 83 kláves
  805. # define KlScanEsc                      1
  806. # define KlScan1                        2
  807. # define KlScan2                        3
  808. # define KlScan3                        4
  809. # define KlScan4                        5
  810. # define KlScan5                        6
  811. # define KlScan6                        7
  812. # define KlScan7                        8
  813. # define KlScan8                        9
  814. # define KlScan9                       10
  815. # define KlScan0                       11
  816. # define KlScanMínus                   12
  817. # define KlScanRovnítko                13
  818. # define KlScanBackspace               14
  819. # define KlScanTab                     15
  820. # define KlScanQ                       16
  821. # define KlScanW                       17
  822. # define KlScanE                       18
  823. # define KlScanR                       19
  824. # define KlScanT                       20
  825. # define KlScanY                       21
  826. # define KlScanU                       22
  827. # define KlScanI                       23
  828. # define KlScanO                       24
  829. # define KlScanP                       25
  830. # define KlScanLeváHranatáZávorka      26
  831. # define KlScanPraváHranatáZávorka     27
  832. # define KlScanEnter                   28
  833. # define KlScanLev∞Ctrl                29
  834. # define KlScanA                       30
  835. # define KlScanS                       31
  836. # define KlScanD                       32
  837. # define KlScanF                       33
  838. # define KlScanG                       34
  839. # define KlScanH                       35
  840. # define KlScanJ                       36
  841. # define KlScanK                       37
  842. # define KlScanL                       38
  843. # define KlScanSt²edník                39
  844. # define KlScanApostrof                40
  845. # define KlScanVlnovka                 41
  846. # define KlScanLev∞Shift               42
  847. # define KlScanZp╪tnéLomítko           43
  848. # define KlScanZ                       44
  849. # define KlScanX                       45
  850. # define KlScanC                       46
  851. # define KlScanV                       47
  852. # define KlScanB                       48
  853. # define KlScanN                       49
  854. # define KlScanM                       50
  855. # define KlScan¼árka                   51
  856. # define KlScanTeƒka                   52
  857. # define KlScanLomítko                 53
  858. # define KlScanPrav∞Shift              54
  859. # define KlScanHv╪zdiƒka               55
  860. # define KlScanLev∞Alt                 56
  861. # define KlScanMezerník                57
  862. # define KlScanCapsLock                58
  863. # define KlScanF1                      59
  864. # define KlScanF2                      60
  865. # define KlScanF3                      61
  866. # define KlScanF4                      62
  867. # define KlScanF5                      63
  868. # define KlScanF6                      64
  869. # define KlScanF7                      65
  870. # define KlScanF8                      66
  871. # define KlScanF9                      67
  872. # define KlScanF10                     68
  873. # define KlScanNumLock                 69
  874. # define KlScanScrollLock              70
  875. # define KlScanNum7                    71
  876. # define KlScanNum8                    72
  877. # define KlScanNum9                    73
  878. # define KlScanNumMínus                74
  879. # define KlScanNum4                    75
  880. # define KlScanNum5                    76
  881. # define KlScanNum6                    77
  882. # define KlScanNumPlus                 78
  883. # define KlScanNum1                    79
  884. # define KlScanNum2                    80
  885. # define KlScanNum3                    81
  886. # define KlScanNum0                    82
  887. # define KlScanNumTeƒka                83
  888. //  84 klávesová AT
  889. # define KlScanSysRq                   84
  890. // 101 klávesová AT
  891. # define KlScanF11                     87
  892. # define KlScanF12                     88
  893. // specifické pro Baltazara
  894. # define KlScanPrav∞Alt                89
  895. # define KlScanPrav∞Ctrl               90
  896. # define KlScanDoleva                  91
  897. # define KlScanDoprava                 92
  898. # define KlScanNahoru                  93
  899. # define KlScanDolà                    94
  900. # define KlScanIns                     95
  901. # define KlScanDel                     96
  902. # define KlScanHome                    97
  903. # define KlScanEnd                     98
  904. # define KlScanPageUp                  99
  905. # define KlScanPageDown               100
  906. # define KlScanNumEnter               101
  907. # define KlScanNumLomítko             102
  908.  
  909. // animované objekty
  910. typedef long TypAnimP²edm╪t;
  911.  
  912. built_in(267) TypAnimP²edm╪t AnimP²edm╪tVytvo²( TypP²edm╪t první_p²edm╪t,
  913.                                unsigned poƒet_p²edm╪tà,
  914.                                int mód_animace, int transparentní );
  915.  
  916. built_in(268) void AnimP²edm╪tZruτ( TypAnimP²edm╪t& objekt );
  917. built_in(269) void AnimP²edm╪tAnimuj( TypAnimP²edm╪t objekt,
  918.                      int x, int y, int ƒíslo_fáze );
  919. built_in(270) void AnimP²edm╪tSchovej( TypAnimP²edm╪t objekt );
  920. built_in(271) int  AnimNastavGrV∞stup( int v∞stup );
  921. built_in(272) int  AnimP²edm╪tPoziceX( TypAnimP²edm╪t objekt );
  922. built_in(273) int  AnimP²edm╪tPoziceY( TypAnimP²edm╪t objekt );
  923. built_in(274) int  AnimP²edm╪tFáze( TypAnimP²edm╪t objekt );
  924. built_in(275) void AnimP²edm╪tDejP²ed( TypAnimP²edm╪t objekt,
  925.                                      TypAnimP²edm╪t p²ed_co );
  926. built_in(276) void AnimP²edm╪tDejZa( TypAnimP²edm╪t objekt, TypAnimP²edm╪t za_co );
  927. built_in(277) int  AnimP²edm╪tKolidujeS( TypAnimP²edm╪t objekt, TypAnimP²edm╪t s_kter∞m );
  928. built_in(278) int  AnimP²edm╪tZobrazen( TypAnimP²edm╪t objekt );
  929.  
  930. // heap
  931. built_in(280) void* malloc( unsigned Velikost );
  932. built_in(281) void  free( void* pam╪£ );
  933. built_in(282) void* realloc( void* pam╪£, unsigned nová_velikost );
  934.  
  935. built_in(280) void* HromadaAlokujPam╪£( unsigned Velikost );
  936. built_in(281) void  HromadaUvolniPam╪£( void* pam╪£ );
  937. built_in(282) void* HromadaZnovuAlokujPam╪£( void* pam╪£, unsigned nová_velikost );
  938.  
  939. built_in(283) unsigned HromadaVolnáPam╪£();
  940. built_in(284) unsigned HromadaVolnáSouvisláPam╪£();
  941.  
  942. // string
  943. built_in(285) unsigned StrVelikost( string& Str );
  944. built_in(286) string&  StrNastavVelikost( string& Str, unsigned Velikost );
  945. built_in(  2) unsigned StrDélka( char* Str );
  946.  
  947. built_in(287) string&  StrVloº( string& Str, string Str2, unsigned Pozice );
  948. built_in(288) string&  StrSmaº( string& Str, unsigned Pozice, unsigned Poƒet );
  949. built_in(327) int      StrSmaºPod²et╪zec( string& Str, unsigned Pozice, char* SubStr );
  950. built_in(328) unsigned StrPozicePod²et╪zce( char* Str, unsigned Pozice, char* SubStr );
  951. built_in(289) string   StrKopie( char* Str, unsigned Pozice, unsigned Poƒet );
  952. built_in(290) string   StrL¼íslo( long ¼íslo, int Délka );
  953. built_in(291) string   StrD¼íslo( double ¼íslo, int Délka, int DesetinnáDélka );
  954.  
  955. built_in(292) string&  StrVytvo²( string& Str );
  956. built_in(293) string&  StrZruτ( string& Str );
  957.  
  958. built_in(308) string   StrNaMalá( char* Str );
  959. built_in(309) string   StrNaVelká( char* Str );
  960. built_in(310) string   StrBezDiakritiky( char* Str );
  961. built_in(311) string   StrZnak( int Znak, unsigned Poƒet );
  962.  
  963. built_in(294) string   ProgramCesta();
  964.  
  965. // joystick
  966. typedef struct TypJoystickStav1 {
  967.   int  X, Y;
  968.   char Tlaƒítko[2];
  969.   } TypJoystickStav[2];
  970.  
  971. built_in(295) void Joystick¼ti( struct TypJoystickStav1* Joystick );
  972.  
  973. built_in(296) long Systémov∞Tikot();
  974.  
  975. // datum
  976. built_in(297) int       DatumPlatn∞( TypDatum& Datum );
  977. built_in(298) TypDatum& DatumPosuσ( TypDatum& Datum, int Roky, int M╪síce, long Dny );
  978. built_in(299) long      DatumRozdíl( TypDatum& Datum1, TypDatum& Datum2 );
  979. built_in(300) TypDatum& DatumNastavDenT∞dne( TypDatum& Datum );
  980. built_in(301) int       ¼asPlatn∞( Typ¼as& ¼as );
  981. built_in(302) Typ¼as&   ¼asPosuσ( Typ¼as& ¼as, long Hodiny, long Minuty, long Sekundy, long Setiny );
  982. built_in(303) long      ¼asRozdíl( Typ¼as& ¼as1, Typ¼as& ¼as2 );
  983. built_in(304) void      Datum¼asPosuσ( TypDatum& Datum, Typ¼as& ¼as,
  984.                           int Roky, int M╪síce, long Dny,
  985.                           long Hodiny, long Minuty, long Sekundy, long Setiny );
  986. built_in(305) void      Datum¼asRozdíl( TypDatum& Datum1, Typ¼as& ¼as1,
  987.                           TypDatum& Datum2, Typ¼as& ¼as2,
  988.                           long& Dny, long& Setiny );
  989.  
  990. # define __BALTAZAR__
  991. # endif
  992.