home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 July
/
Chip_1997-07_cd.bin
/
tema
/
baltazar
/
sgpbc
/
baltazar.h
next >
Wrap
C/C++ Source or Header
|
1997-05-27
|
41KB
|
995 lines
# ifndef __BALTAZAR__
/*------------------------------------------------------------------------
Baltazar v4.00
(c)1995,1996 SGP Systems
------------------------------------------------------------------------*/
# define __BALTAZAR_VERSION__ 400 /* 4.00 */
# pragma idchars = "╪τƒ²º∞áíéúàó╘£σ╖µ¼ⁿªφ╡╓ÉΘ▐α╥¢╒äëüößÄ╙ÜÖ╨╤ê¥ÆæûòΩΦôΓ"
typedef long TypP²edm╪t; /* v4.00 */
typedef struct { /* datum */
int Rok; /* 1980 - 2099 */
unsigned char M╪síc, /* 1 - 12 */
Den, /* 1 - 28,29,30,31 */
DenT∞dne; /* 0 - 6 */
/* 0 = ned╪le, */
/* 1 = pond╪lí atd. */
} TypDatum;
typedef struct { /* ƒas */
unsigned char Hodiny, Minuty, Sekundy, Setiny;
} Typ¼as;
built_in( 3) void Vytvo²Prostor();
built_in( 4) void ZruτProstor();
built_in( 26) int UloºScénu( char* jméno );
built_in( 27) int NaƒtiScénu( char* jméno );
built_in( 11) int RychlostBaltazara( unsigned rychlost );
built_in( 5) void Popojdi( int pocet_policek );
built_in( 6) void ¼ekej( int zpozdeni );
built_in( 7) void VpravoVbok();
built_in( 8) void VlevoVbok();
built_in( 15) void Neviditeln∞();
built_in( 16) void Viditeln∞();
built_in( 9) int NastavBarvu¼arování( int barva );
built_in( 10) void ¼aruj( TypP²edm╪t predmet );
built_in( 17) void Náhodn╪¼aruj( TypP²edm╪t predmet );
built_in( 41) void ¼arujNaPozici( TypP²edm╪t predmet, int x, int y );
built_in( 39) void BezObláƒku();
built_in( 40) void SObláƒkem();
built_in( 25) int ¼tiKlávesuZFronty();
built_in( 65) void VyprázdniFrontuKláves();
built_in( 57) int BylaStisknutaKlávesa();
# define ¼tiKlávesuZFrontyS¼ekáním() (¼ekej(NaKlávesu),¼tiKlávesuZFronty())
# define ¼tiKlávesuS¼ekáním() (VyprázdniFrontuKláves(),¼ekej(NaKlávesu),¼tiKlávesuZFronty())
# define ¼ekejNaKlávesu() (VyprázdniFrontuKláves(),¼ekej(NaKlávesu))
built_in(315) int ¼tiKlávesuS¼ekáním2( int ¼as, int Klávesa );
built_in( 28) void P²epniNaText();
built_in( 29) void P²epniNaBaltazara();
built_in( 76) void EscMínus();
built_in( 75) void EscPlus();
built_in( 12) int Sm╪rBaltazara();
built_in( 18) int PoziceBaltazaraX();
built_in( 19) int PoziceBaltazaraY();
built_in( 13) TypP²edm╪t P²edm╪tP²edB();
built_in( 14) int Barva¼tverceP²edB();
built_in( 20) int PràchodnostP²edm╪tuP²edB();
built_in( 21) int VzdálenostOdP²edm╪tu( TypP²edm╪t predmet );
built_in( 22) int VzdálenostOd¼tverce( int barva );
built_in( 23) int VzdálenostOdP²ekáºky();
built_in( 24) TypP²edm╪t NejbliºτíP²edm╪t();
built_in( 1) int Txt¼tiZnak();
built_in( 34) int Txt¼tiCⁿet╪zec( char* retezec, int max_delka );
built_in( 36) int Txt¼tiI¼íslo( int& cele_cislo );
built_in( 37) int Txt¼tiU¼íslo( unsigned& prirozene_cislo );
built_in( 35) int Txt¼tiD¼íslo( double& realne_cislo );
built_in( 38) int Txt¼tiNov∞ⁿádek();
built_in( 0) void TxtPiτZnak( char c );
built_in( 30) char* TxtPiτⁿet╪zec( char* retezec );
built_in( 32) int TxtPiτL¼íslo( long d, int delka );
built_in( 33) int TxtPiτU¼íslo( unsigned d, int delka );
built_in( 31) int TxtPiτD¼íslo( double d, int delka, int desetinna_delka );
# define TxtPiτNov∞ⁿádek() TxtPiτZnak('\n')
built_in( 64) void GrSmaºOkno();
built_in( 67) void GrNastavPozici( int x, int y );
built_in( 69) int GrPoziceX();
built_in( 70) int GrPoziceY();
built_in( 68) int GrNastavBarvuPop²edí( int barva );
built_in( 77) int GrNastavBarvuPozadí( int barva );
built_in( 74) void GrPiτZnak( int z );
built_in( 66) void GrPiτⁿet╪zec( char* text );
built_in( 72) void GrPiτL¼íslo( long d, int delka );
built_in( 73) void GrPiτU¼íslo( int d, int delka );
built_in( 71) void GrPiτD¼íslo( double d, int delka, int desetinna_delka );
built_in( 58) Typ¼as& Systémov∞¼as( Typ¼as& cas );
built_in( 59) TypDatum& SystémovéDatum( TypDatum& datum );
built_in( 60) void StopkyNuluj();
built_in( 61) void StopkyStart();
built_in( 62) void StopkyStop();
built_in( 63) void Stopky( Typ¼as& cas );
built_in( 78) void PiτPort8( int port, unsigned char byte );
built_in( 79) int ¼tiPort8( int port );
built_in( 80) void PiτPort16( int port, int word );
built_in( 81) int ¼tiPort16( int port );
built_in( 45) double sqrt( double r );
built_in( 46) double sqr( double r );
built_in( 47) double atan( double r );
built_in( 48) double abs( double r );
built_in( 49) double cos( double r );
built_in( 50) double sin( double r );
built_in( 51) double exp( double r );
built_in( 52) double frac( double r );
built_in( 53) double integer( double r );
built_in( 54) double log( double r );
built_in( 42) unsigned Náhodné¼íslo( unsigned rozsah );
built_in( 43) void Tón( unsigned vyska );
built_in( 44) void VypniTón();
built_in( 2) unsigned Délkaⁿet╪zce( char* s );
/* makra pro cyklus # (for) */
# define OdDoKrok(var,od,do,krok) \
(var)= (od); (var)<=(do); (var)+= (krok)
# define OdDolàDoKrok(var,od,do,krok) \
(var)= (od); (var)>=(do); (var)-= (krok)
# define Od0(var,kolikrat) \
(var)= 0; (var)<(kolikrat); ++(var)
# define DolàDo0(var,kolikrat) \
(var)= ((kolikrat)-1); (var)>=0; --(var)
built_in( 0) void putchar( char c );
built_in( 1) int getchar();
built_in( 2) unsigned strlen( char* s );
/*---------------------------------------------------------------------------
main musí mít tento tvar
--------------------------------------------------------------------------*/
extern void main();
/*---------------------------------------------------------------------------
KONSTANTY
--------------------------------------------------------------------------*/
/* p²edm╪ty */
# define Okraj 0L
# define ¼tverec -1L
# define Ze╘ 2L
/* sm╪ry */
# define V∞chod 1
# define Jih 2
# define Západ 3
# define Sever 4
/* barvy */
# define ¼erná 0
# define Tmavozelená 1
# define Modrá 2
# define Tmavomodrá 3
# define Fialovoràºová 4
# define ¼ervenohn╪dá 5
# define Krémová 6
# define Sv╪tloτedá 7
# define Tmavoτedá 8
# define Sv╪tlozelená 9
# define Sv╪tlomodrá 10
# define Fialová 11
# define ¼ervená 12
# define Oranºová 13
# define ªlutá 14
# define Bílá 15
/* vzdálenost */
# define Nevidím 20
/* ƒekání */
# define NaKlávesu ((int)0x8001)
# define NaMyτ ((int)0x8002)
/* klávesy */
# define KlNení 0
# define KlDolà 0x5000
# define KlDoleva 0x4b00
# define KlDoprava 0x4d00
# define KlNahoru 0x4800
# define KlEnd 0x4f00
# define KlHome 0x4700
# define KlPageUp 0x4900
# define KlPageDown 0x5100
# define KlEsc 27
# define KlEnter '\r'
# define KlIns 0x5200
# define KlDel 0x5300
# define KlF1 0x3b00
# define KlF2 0x3c00
# define KlF3 0x3d00
# define KlF4 0x3e00
# define KlF5 0x3f00
# define KlF6 0x4000
# define KlF7 0x4100
# define KlF8 0x4200
# define KlF9 0x4300
# define KlF10 0x4400
# define KlF11 0x8500
# define KlF12 0x8600
# if 0 /* vypuτt╪no - v4.0 */
/* konec souboru Nebo chyba p²i ƒtení */
# define EOF -1
# define KonecSouboru EOF
# endif
/* prázdn∞ ukazatel */
# define NULL 0
/* grafické okénko */
# define GrV∞τkaZnaku 10
# define Grµí²kaZnaku 8
# define GrV∞τkaOkna 26
# define Grµí²kaOkna 386
/* prostor */
# define µí²kaProstoru 15
# define V∞τkaProstoru 10
# define PoƒetP²edm╪tà 150
# define Pí 3.1415926535897932385
/*---------------------------------------------------------------------------
verze 3.08
--------------------------------------------------------------------------*/
built_in( 83) TypP²edm╪t VyberP²edm╪t( int cisla );
built_in( 84) TypP²edm╪t P²edm╪tNaPozici( int x, int y );
built_in( 85) int Barva¼tverceNaPozici( int x, int y );
built_in( 86) int NastavPoziciBaltazara( int x, int y );
built_in( 87) int TxtNastavBarvuPop²edí( int barva );
built_in( 88) int TxtNastavBarvuPozadí( int barva );
built_in( 89) void TxtNastavPozici( int x, int y );
built_in( 90) void TxtSmaºObrazovku();
/*---------------------------------------------------------------------------
verze 3.10
--------------------------------------------------------------------------*/
/* makra pro cyklus # (for) */
# define OdDoKrok(var,od,do,krok) \
(var)= (od); (var)<=(do); (var)+= (krok)
# define OdDolàDoKrok(var,od,do,krok) \
(var)= (od); (var)>=(do); (var)-= (krok)
# define Od0(var,kolikrat) \
(var)= 0; (var)<(kolikrat); ++(var)
# define DolàDo0(var,kolikrat) \
(var)= ((kolikrat)-1); (var)>=0; --(var)
built_in(105) int GrafickáKarta();
# define KartaCGA 1
# define KartaEGA 3
# define KartaHerc 7
# define KartaVGA 9
# define KartaVESA 10
/*---------------------------------------------------------------------------
verze 3.20
--------------------------------------------------------------------------*/
/* spouτt╪ní externích programà */
built_in(104) int DOSProve╘( char* radkovy_prikaz_DOSu );
built_in(106) void GrNastavPàvodníPaletu();
built_in(107) int GrNaƒtiPaletu( char* jmeno_souboru );
built_in(108) TypP²edm╪t Baltedit();
/*---------------------------------------------------------------------------
verze 3.3+
--------------------------------------------------------------------------*/
/* nvá synonyma pro testování */
# define Neplatí !
# define JeMenτíNeº <
# define JeMenτíNeboRovno <=
# define JeV╪tτíNeº >
# define JeV╪tτíNeboRovno >=
# define Je ==
# define Není !=
# define ASouƒasn╪ &&
# define Nebo ||
# define Pravdiv∞ 1
# define Nepravdiv∞ 0
/* barvy pro textov∞ mód **********/
/* barva pop²edí/pozadí */
# define Txt¼erná 0
# define TxtModrá 1
# define TxtZelená 2
# define TxtModrozelená 3
# define Txt¼ervená 4
# define TxtFialová 5
# define TxtHn╪dá 6
# define TxtSv╪tloτedá 7
/* barva pop²edí */
# define TxtTmavoτedá 8
# define TxtSv╪tlomodrá 9
# define TxtSv╪tlozelená 10
# define TxtSv╪tlomodrozelená 11
# define TxtSv╪tloƒervená 12
# define TxtSv╪tlofialová 13
# define Txtªlutá 14
# define TxtBílá 15
/* blikající pop²edí */
# define TxtBlikat 0x80
/* nové funkce */
built_in(109) int Gr¼tiCⁿet╪zec( char* prompt, char* retezec, int pocet_znaku, int edituj_obsah, int barvy );
built_in(110) int Gr¼tiI¼íslo( char* prompt, int& cislo, int pocet_znaku, int edituj_obsah, int barvy );
built_in(111) int Gr¼tiU¼íslo( char* prompt, unsigned& cislo, int pocet_znaku, int edituj_obsah, int barvy );
built_in(112) int Gr¼tiL¼íslo( char* prompt, long& cislo, int pocet_znaku, int edituj_obsah, int barvy );
built_in(113) int Gr¼tiD¼íslo( char* prompt, double& cislo, int pocet_znaku, int edituj_obsah, int barvy );
built_in(114) int Gr¼tiZnak( char* prompt, char& znak, int edituj_obsah, int barvy );
built_in(115) int GrNastavBarvy( int barvy );
built_in(116) int GrBarvy();
built_in(117) int GrBarvaPop²edí();
built_in(118) int GrBarvaPozadí();
built_in(119) void GrPiτNov∞ⁿádek();
built_in(120) char* strcpy( char* ⁿet╪zec1, char* ⁿet╪zec2 );
built_in(121) char* strcpyn( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
built_in(122) char* strcat( char* ⁿet╪zec1, char* ⁿet╪zec2 );
built_in(123) char* strcatn( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
built_in(124) char* strchr( char* ⁿet╪zec, int Znak );
built_in(125) char* strrchr( char* ⁿet╪zec, int Znak );
built_in(126) char* strstr( char* ⁿet╪zec1, char* ⁿet╪zec2 );
built_in(127) char* strend( char* ⁿet╪zec );
built_in(128) int strcmp( char* ⁿet╪zec1, char* ⁿet╪zec2 );
built_in(129) int strncmp( char* ⁿet╪zec1, char* ⁿet╪zec2, unsigned n );
built_in(130) void* memcpy( void* Kam, void* Odkud, unsigned Poƒet );
built_in(130) void* memmove( void* Kam, void* Odkud, unsigned Poƒet );
built_in(131) void* memset( void* Co, int Hodnota, unsigned Poƒet );
built_in(132) int TxtNastavBarvy( int barvy );
built_in(133) int TxtBarvy();
built_in(134) int TxtBarvaPop²edí();
built_in(135) int TxtBarvaPozadí();
built_in(136) int TxtPoziceX();
built_in(137) int TxtPoziceY();
built_in(138) int Txt¼tiL¼íslo( long& number );
/*---------------------------------------------------------------------------
verze 4.00
--------------------------------------------------------------------------*/
/* peek&poke */
built_in( 91) unsigned DataSeg();
built_in( 92) int peek( unsigned seg, unsigned ofs );
built_in( 93) int peekb( unsigned seg, unsigned ofs );
built_in( 94) void poke( unsigned seg, unsigned ofs, int hodnota16);
built_in( 95) void pokeb( unsigned seg, unsigned ofs, int hodnota8 );
/* registry 80x86 */
typedef struct {
unsigned AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags;
} TypRegistry;
/* registr p²íznakà (Flags) */
# define FlagCarry (1<<0) /* carry */
# define FlagParity (1<<2) /* parity */
# define FlagAuxCarry (1<<4) /* aux carry */
# define FlagZero (1<<6) /* zero */
# define FlagSign (1<<7) /* sign */
# define FlagTrap (1<<8) /* trap */
# define FlagInterrupt (1<<9) /* interrupt */
# define FlagDirection (1<<10) /* direction */
# define FlagOverflow (1<<11) /* overflow */
/* sw p²eruτení (interrupt) */
built_in( 96) void intr( int intr_cislo, TypRegistry& registry );
/* práce s pam╪tí */
built_in( 97) void fmemcpy( unsigned cil_seg, unsigned cil_ofs,
unsigned zdroj_seg, unsigned zdroj_ofs,
unsigned Velikost );
built_in( 97) void fmemmove( unsigned cil_seg, unsigned cil_ofs,
unsigned zdroj_seg, unsigned zdroj_ofs,
unsigned Velikost );
built_in( 98) void fmemset( unsigned cil_seg, unsigned cil_ofs,
int hodnota8,
unsigned Velikost );
/* komunikace po COM lince */
built_in(100) int COMP²ipoj( unsigned char COM, unsigned char rychlost );
built_in(101) int COMOdpoj( unsigned char COM );
built_in(102) int COM¼ti( unsigned char COM );
built_in(103) int COMPiτ( unsigned char COM, unsigned char hodnota );
# define COM110Bd 0
# define COM150Bd 1
# define COM300Bd 2
# define COM600Bd 3
# define COM1200Bd 4
# define COM2400Bd 5
# define COM4800Bd 6
# define COM9600Bd 7
# define COM19200Bd 8
# define COM38400Bd 9
# define COM115200Bd 10
/* práce s ²et╪zci - dokonƒení */
built_in(139) int stricmp( char* s1, char* s2 );
built_in(140) int strnicmp( char* s1, char* s2, unsigned delka );
built_in(141) char* strlwr( char* s );
built_in(142) char* strupr( char* s );
built_in(143) int czchrupr( int znak );
built_in(144) int czchrlwr( int znak );
built_in(145) int czchrplain( int znak );
built_in(146) char* czstrupr( char* retezec );
built_in(147) char* czstrlwr( char* retezec );
built_in(148) char* czstrplain( char* retezec );
built_in(149) int czstrcmp( char* ret1, char* ret2 );
built_in(150) int czstricmp( char* ret1, char* ret2 );
built_in(151) int czstriicmp( char* ret1, char* ret2 );
built_in(153) long StrNaL¼íslo( char* retezec, int* chyba );
built_in(154) double StrNaD¼íslo( char* retezec, int* chyba );
built_in(155) char* L¼ísloNaⁿet╪zec( char* retezec, long cislo, int delka );
built_in(156) char* D¼ísloNaⁿet╪zec( char* retezec, double cislo,
int delka, int desetinna_delka );
built_in(159) int PràchodnostP²edm╪tu( TypP²edm╪t predm );
built_in(160) int NastavPràchodnostP²edm╪tu( TypP²edm╪t predm,
int pruch );
built_in(161) int NaƒtiP²edm╪ty( TypP²edm╪t PrvníP²edm╪t, int Poƒet );
built_in(162) int NastavJménoBankyP²edm╪tà( char* jmeno_souboru );
built_in(163) void GrNastavPaletu( TypP²edm╪t cislo_predmetu );
built_in(164) int TransparentníBarvaP²edm╪tu( TypP²edm╪t predm );
built_in(165) int NastavTransparentníBarvuP²edm╪( TypP²edm╪t predm,
int barva );
built_in(166) long RychlostCPU();
built_in(167) int Txtⁿádkov∞Editor( string& ret,
unsigned max_znaku,
unsigned sirka,
int pozice,
int* ukonceni );
#ifdef Napoveda
ret - editovany retezec
max_znaku - kolik znaku Je mozno max. do retezce ulozit
sirka - kolik znaku ma editor na obrazovce zabirat
pozice - na jakou pozici se ma nastavit kurzor
ukonceni - seznam ukoncovacich klaves ukonceny nulou napr.
static int ukl[] = { KlEnter, KlEsc, 0 };
- muze byt 0 (NULL), pak Je ukonceni KlEnter
vraci - index ukoncovaci klavesy
priklad pouziti:
char ret[41];
static int ukl[] = { KlEnter, KlEsc, 0 };
...
switch (ⁿádkov∞Editor(ret,sizeof(ret)-1,20,-1,ukl)) {
case 0:
/* Enter */
...
break;
case 1:
/* Esc */
...
break;
}
#endif
/* textov∞ reºim */
# define TxtMód¼B40x25 0x001
# define TxtMódB40x25 0x002
# define TxtMód¼B80x25 0x003
# define TxtMódB80x25 0x004
# define TxtMódMono 0x005
# define TxtMód¼B80x50 0x103
# define TxtMódB80x50 0x104
built_in(170) int TxtNastavMód( int mod );
built_in(313) int TxtMód();
# define TxtKurzorNeviditeln∞ 0
# define TxtKurzorMal∞ 1
# define TxtKurzorVelk∞ 2
built_in(171) int TxtNastavTvarKurzoru( int tvar );
built_in(172) int TxtMaxX();
built_in(173) int TxtMaxY();
built_in(306) int Txt¼tiSⁿet╪zec( string& ⁿet╪zec );
/* grafika */
# define Grµí²kaPolíƒka 39
# define GrV∞τkaPolíƒka 29
built_in(175) void GrNastavPoziciRel( int x, int y );
built_in(176) int GrNastavV∞stup( int vystup, ...);
# define GrV∞stupOkénko 0
# define GrV∞stupOkno 1
# define GrV∞stupPlocha 2
# define GrV∞stupUºivatelsk∞1 3
# define GrV∞stupUºivatelsk∞2 4
# define GrV∞stupUºivatelsk∞3 5
# define GrV∞stupUºivatelsk∞4 6
# define GrV∞stupUºivatelsk∞Nastavení 8
# define GrV∞stupOkénkoX 229
# define GrV∞stupOkénkoY 310
# define GrV∞stupOknoX 25
# define GrV∞stupOknoY 11
typedef unsigned char TypGrV∞plσVzorek[8];
built_in(177) void GrNastavV∞plσ( int druh, ...);
# define GrV∞plσPlná 0
# define GrV∞plσVzorek 1
built_in(178) void GrNastavLinku( int druh, ...);
# define GrLinkaPlná 1
# define GrLinkaVzorek 2
# define GrLinkaTenká 4
# define GrLinkaTlustá 8
# define GrLinkaZpàsobKresleníNormáln╪ 0x10
# define GrLinkaZpàsobKresleníXor 0x20
# define GrLinkaZpàsobKresleníOr 0x30
# define GrLinkaZpàsobKresleníAnd 0x40
# define GrLinkaZpàsobKresleníNot 0x50
built_in(179) int GrNastavText( int druh );
# define GrTextSPozadím 0
# define GrTextBezPozadí 1
built_in(180) void GrKresliObdélník( int X1, int Y1, int X2, int Y2 );
built_in(181) void GrKresliVypln╪n∞Obdélník( int X1, int Y1, int X2, int Y2 );
built_in(182) void GrKresliElipsu( int x, int y,
double pocatecni_uhel, /* radiány */
double koncovy_uhel, /* radiány */
unsigned x_polomer,
unsigned y_polomer
);
built_in(183) void GrKresliLinku( int X1, int Y1, int X2, int Y2 );
built_in(184) void GrKresliLinkuDo( int x, int y );
built_in(185) void GrKresliLinkuRel( int DX, int dy );
built_in(186) void GrKresliMnohoúhelník( unsigned pocet_bodu,
int X1, int Y1, ...);
built_in(187) int GrKresliVypln╪n∞Mnohoúhelník( unsigned pocet_bodu,
int X1, int Y1, ...);
built_in(188) int GrVyplσPlochu( int x, int y, int barva_okraje );
built_in(189) int GrBarvaBodu( int x, int y );
built_in(190) void GrKresliBod( int x, int y, int barva );
built_in(191) int GrKresliP²edm╪t( TypP²edm╪t predm, int transparentn╪,
int x, int y );
built_in(192) int GrNastavObrazP²edm╪tu( TypP²edm╪t predm,
int x, int y,
int pouze_z_plochy );
typedef struct {
int X, Y, X1, Y1, X2, Y2;
} TypGrPoziceOblouku;
built_in(193) void GrPoziceOblouku( TypGrPoziceOblouku& obl_poz );
built_in(194) int GrMaxX();
built_in(195) int GrMaxY();
# define GrMódEGA 1
# define GrMódVGA 2
# define GrMódVESA800x600 3
# define GrMódVESA1024x768 4
# define GrMódVESA1280x1024 5
built_in(196) int GrNastavMód( int Mód );
built_in(312) int GrMód();
built_in(307) int Gr¼tiSⁿet╪zec( char* prompt, string& retezec, int pocet_znaku, int edituj_obsah, int barvy );
/* argumenty a prom╪nné DOSu */
built_in(197) int DOSPoƒetArgumentà();
built_in(198) string DOSArgument( int ¼íslo );
built_in(199) string DOSProm╪nná( char* Jméno );
built_in(200) unsigned DOSVerze();
built_in(201) int DOSChyba();
/* chyby dosu */
# define DOSChybaSoubor 2
# define DOSChybaCesta 3
# define DOSChybaMnohoSouborà 4
# define DOSChybaP²ístupOdep²en 5
# define DOSChybaJednotka 15
# define DOSChybaAktuálníAdresá² 16
# define DOSChybaP²ejmenování 17
# define DOSChybaDalτíPoloºkaAdresá²e 18
/* disk a adresá²e ( A=adresá², AP=poloºka adresá²e ) */
built_in(203) long DiskVolnéMísto( int jednotka );
built_in(204) long DiskVelikost( int jednotka );
built_in(205) int Adresá²Vytvo²( char* cesta );
built_in(206) int Adresá²Smaº( char* cesta );
built_in(207) string Adresá²Aktuální( int Jednotka );
built_in(208) int Adresá²NastavAktuální( char* cesta );
typedef struct {
char _reserved[21];
unsigned char Atributy;
long DatumA¼as;
long Velikost;
char Jméno[13];
} TypPoloºkaAdresá²e;
built_in(209) int PoloºkaAdresá²eNajdiPrvní( char* cesta, unsigned Atributy,
TypPoloºkaAdresá²e& apol );
built_in(210) int PoloºkaAdresá²eNajdiDalτí( TypPoloºkaAdresá²e& apol );
built_in(211) void PoloºkaAdresá²eDekódujDatumA¼as( TypPoloºkaAdresá²e& apol,
TypDatum& datum, Typ¼as& cas );
/* soubory ( S=soubor ) */
typedef long TypSoubor;
built_in(213) int SouborNulujChybu( TypSoubor s );
built_in(221) int SouborExistuje( char* Jméno );
built_in(214) string SouborAbsolutníCesta( char* Jméno );
built_in(215) string SouborHledej( char* Jméno, char* SeznamAdresá²à );
built_in(216) int SouborRozd╪lCestu( char* Cesta,
string& Adresá², string& Jméno,
string& P²ípona );
/* Atributy souboru */
# define SouborAtributPouze¼tení 0x01
# define SouborAtributSkryt∞ 0x02
# define SouborAtributSystémov∞ 0x04
# define SouborAtributSvazek 0x08
# define SouborAtributAdresá² 0x10
# define SouborAtributArchivní 0x20
built_in(217) unsigned SouborAtributy( char* Jméno );
built_in(218) int SouborNastavAtributy( char* Jméno, unsigned Atributy );
built_in(219) int SouborSmaº( char* Jméno );
built_in(220) int SouborP²ejmenuj( char* stare_jmeno, char* nove_jmeno );
/* p²ístup k souboru */
# define SouborP²ístup¼tení 0x01 /* ƒtení */
# define SouborP²ístupZápis 0x02 /* zápis */
/* - Je-li instalován SHARE.EXE */
# define SouborP²ístupOdep²i¼tení 0x30 /* odep²i ƒtení */
# define SouborP²ístupOdep²iZápis 0x20 /* odep²i zápis */
# define SouborP²ístupOdep²i¼teníIZápis 0x10 /* odep²i ƒtení a zápis */
# define SouborP²ístupPovolVτe 0x40 /* neodep²i nic */
# define SouborP²ístupPrivátní 0x80
/* - formát */
# define SouborP²ístupTextov∞ 0x100
# define SouborP²ístupBinární 0x200
built_in(222) TypSoubor SouborOtev²i( char* Jméno, unsigned pristup );
built_in(223) int SouborZapiτBuffer( TypSoubor s );
built_in(224) int SouborZav²i( TypSoubor& s );
built_in(225) int SouborU²ízni( TypSoubor s );
built_in(226) unsigned Soubor¼tiBlok( TypSoubor s, void* blok, unsigned Velikost );
built_in(227) int Soubor¼tiZnak( TypSoubor s );
built_in(228) unsigned Soubor¼tiCⁿet╪zec( TypSoubor s, char* retezec, unsigned max_delka );
built_in(247) unsigned Soubor¼tiSⁿet╪zec( TypSoubor s, string& retezec );
built_in(229) unsigned SouborPiτBlok( TypSoubor s, void* blok, unsigned Velikost );
built_in(230) int SouborPiτZnak( TypSoubor s, char c );
built_in(231) int SouborPiτⁿet╪zec( TypSoubor s, char* retezec );
built_in(232) int SouborKonec( TypSoubor s );
built_in(233) int SouborChyba( TypSoubor s );
/* nastavení pozice souboru odkud */
# define SouborPoziceOdZaćtku 0
# define SouborPoziceOdAktuální 1
# define SouborPoziceOdKonce 2
built_in(234) long SouborPozice( TypSoubor s );
built_in(235) long SouborNastavPozici( TypSoubor s, long pozice, int odkud );
built_in(236) long SouborVelikost( TypSoubor s );
built_in(237) int SouborDatumA¼as( TypSoubor s, TypDatum& datum, Typ¼as& cas );
built_in(238) int SouborNastavDatumA¼as( TypSoubor s, TypDatum& datum, Typ¼as& cas );
built_in(239) int SouborPiτL¼íslo( TypSoubor s, long d, int delka );
built_in(240) int SouborPiτU¼íslo( TypSoubor s, unsigned d, int delka );
built_in(241) int SouborPiτD¼íslo( TypSoubor s, double d, int delka, int desetinna_delka );
# define SouborPiτNov∞ⁿádek(s) (SouborPiτZnak((s),'\n'))
built_in(242) int Soubor¼tiI¼íslo( TypSoubor s, int& cele_cislo );
built_in(243) int Soubor¼tiU¼íslo( TypSoubor s, unsigned& prirozene_cislo );
built_in(244) int Soubor¼tiD¼íslo( TypSoubor s, double& realne_cislo );
built_in(245) int Soubor¼tiL¼íslo( TypSoubor s, long& velke_cele_cislo );
built_in(246) int Soubor¼tiNov∞ⁿádek( TypSoubor s );
/* Myτ */
typedef struct {
char Typ;
char TlaĒtka;
int X, Y;
long ¼as;
} TypMyτUdálost;
typedef struct {
int X, Y;
char TlaĒtka;
} TypMyτStav;
/* událost myτi - Typ */
#define MyτUdálostªádná 0 /* ºádná událost nebyla zaznamenána */
#define MyτUdálostPohyb 1 /* pohyb myτi - zm╪na sou²adnice */
#define MyτUdálostLevéTlDolà 2 /* levé tlaƒítko dolà - drºeno */
#define MyτUdálostLevéTlNahoru 4 /* levé tlaƒítko nahoru - puτt╪no */
#define MyτUdálostPravéTlDolà 8 /* pravé tlaƒítko dolà - drºeno */
#define MyτUdálostPravéTlNahoru 16 /* pravé tlaƒítko nahoru - puτt╪no */
#define MyτUdálostProst²edníTlDolà 32 /* st²ední tlaƒítko dolà - drºeno */
#define MyτUdálostProst²edníTlNahoru 64 /* st²ední tlaƒítko nahoru - puτt╪no */
/* tlaƒítka myτi (maska) */
#define MyτTlLevé 1 /* levé tlaƒítko drºeno */
#define MyτTlPravé 2 /* pravé tlaƒítko drºeno */
#define MyτTlProst²ední 4 /* st²ední tlaƒítko drºeno */
#define MyτTlShift 8 /* Shift p²e²a╘ovaƒ drºen */
#define MyτTlCtrl 16 /* Ctrl p²e²a╘ovaƒ drºen */
#define MyτTlAlt 32 /* Alt p²e²a╘ovaƒ drºen */
built_in(248) int MyτZaƒátekObsluhy();
/* zaƒátek práce s myτí
/* prace s mysi (cteni udalosti, cteni stavu...) musi byt
/* zapocata prikazem MyτZaƒátekObsluhy() a ukoncena MyτKonecObsluhy()
/* vraci pocet tlacitek mysi (2 Nebo 3) Nebo 0 v pripade,
/* kdyz Není ovladac mysi instalovan
*/
built_in(249) void MyτKonecObsluhy();
/* konec práce s myτí
*/
built_in(250) void MyτZobrazKurzor();
built_in(251) void MyτSchovejKurzor();
built_in(252) void MyτStav( TypMyτStav& stav );
built_in(253) void Myτ¼tiUdálost( TypMyτUdálost& udalost );
built_in(254) void MyτNastavPozici( int x, int y );
built_in(255) void MyτNastavRozsah( int minx, int miny, int maxx, int maxy );
built_in(256) void MyτNastavGrKurzor( TypP²edm╪t p²edm╪t );
built_in(257) void MyτNastavTxtKurzor( unsigned and_mask, unsigned xor_mask );
built_in(258) void MyτVyprázdniFrontuUdálostí();
/* obsluha klávesnice */
typedef struct {
char Typ;
char Klávesa;
unsigned P²e²a╘ovaƒe;
long ¼as;
} TypKlUdálost;
/* událost klávesnice - Typ */
#define KlUdálostªádná 0 /* ºádná událost nebyla zaznamenána */
#define KlUdálostKlDolà 1 /* klávesa dolà - drºena */
#define KlUdálostKlNahoru 2 /* klávesa nahoru - puτt╪na */
/* p²e²a╘ovaƒe klávesnice */
#define KlP²e²a╘ovaƒPrav∞Shift (1<< 0) /* pravá Shift stisknuta */
#define KlP²e²a╘ovaƒLev∞Shift (1<< 1) /* levá Shift stisknuta */
#define KlP²e²a╘ovaƒShift (KlP²e²a╘ovaƒPrav∞Shift|KlP²e²a╘ovaƒLev∞Shift) /* libovolná Shift */
#define KlP²e²a╘ovaƒCtrl (1<< 2) /* libovolná Ctrl stisknuta */
#define KlP²e²a╘ovaƒAlt (1<< 3) /* libovolná Alt stisknuta */
#define KlP²e²a╘ovaƒLev∞Ctrl (1<< 8) /* levá Ctrl stisknuta */
#define KlP²e²a╘ovaƒLev∞Alt (1<< 9) /* levá Alt stisknuta */
#define KlP²e²a╘ovaƒSysReq (1<<10) /* SysReq stisknuta */
#define KlP²e²a╘ovaƒScrollLock (1<<12) /* ScrollLock stisknuta */
#define KlP²e²a╘ovaƒNumLock (1<<13) /* NumLock stisknuta */
#define KlP²e²a╘ovaƒCapsLock (1<<14) /* CapsLock stisknuta */
#define KlP²e²a╘ovaƒInsert (1<<15) /* Insert stisknuta */
#define KlP²e²a╘ovaƒStavScrollLock (1<< 4) /* p²epínaƒ ScrollLock zapnut */
#define KlP²e²a╘ovaƒStavNumLock (1<< 5) /* p²epínaƒ NumLock zapnut */
#define KlP²e²a╘ovaƒStavCapsLock (1<< 6) /* p²epínaƒ CapsLock zapnut */
#define KlP²e²a╘ovaƒStavInsert (1<< 7) /* p²epínaƒ Insert zapnut */
built_in(260) void KlZaƒátekObsluhy( int AutoOpakování );
built_in(261) void KlKonecObsluhy();
built_in(262) int KlKlávesaStisknuta( int Klávesa );
built_in(263) unsigned KlP²e²a╘ovaƒe();
built_in(264) void Kl¼tiUdálost( TypKlUdálost& udalost );
built_in(265) void KlVyprázdniFrontuUdálostí();
/* pàvodní klávesnice XT/AT - 83 kláves */
# define KlScanEsc 1
# define KlScan1 2
# define KlScan2 3
# define KlScan3 4
# define KlScan4 5
# define KlScan5 6
# define KlScan6 7
# define KlScan7 8
# define KlScan8 9
# define KlScan9 10
# define KlScan0 11
# define KlScanMínus 12
# define KlScanRovnítko 13
# define KlScanBackspace 14
# define KlScanTab 15
# define KlScanQ 16
# define KlScanW 17
# define KlScanE 18
# define KlScanR 19
# define KlScanT 20
# define KlScanY 21
# define KlScanU 22
# define KlScanI 23
# define KlScanO 24
# define KlScanP 25
# define KlScanLeváHranatáZávorka 26
# define KlScanPraváHranatáZávorka 27
# define KlScanEnter 28
# define KlScanLev∞Ctrl 29
# define KlScanA 30
# define KlScanS 31
# define KlScanD 32
# define KlScanF 33
# define KlScanG 34
# define KlScanH 35
# define KlScanJ 36
# define KlScanK 37
# define KlScanL 38
# define KlScanSt²edník 39
# define KlScanApostrof 40
# define KlScanVlnovka 41
# define KlScanLev∞Shift 42
# define KlScanZp╪tnéLomítko 43
# define KlScanZ 44
# define KlScanX 45
# define KlScanC 46
# define KlScanV 47
# define KlScanB 48
# define KlScanN 49
# define KlScanM 50
# define KlScan¼árka 51
# define KlScanTeƒka 52
# define KlScanLomítko 53
# define KlScanPrav∞Shift 54
# define KlScanHv╪zdiƒka 55
# define KlScanLev∞Alt 56
# define KlScanMezerník 57
# define KlScanCapsLock 58
# define KlScanF1 59
# define KlScanF2 60
# define KlScanF3 61
# define KlScanF4 62
# define KlScanF5 63
# define KlScanF6 64
# define KlScanF7 65
# define KlScanF8 66
# define KlScanF9 67
# define KlScanF10 68
# define KlScanNumLock 69
# define KlScanScrollLock 70
# define KlScanNum7 71
# define KlScanNum8 72
# define KlScanNum9 73
# define KlScanNumMínus 74
# define KlScanNum4 75
# define KlScanNum5 76
# define KlScanNum6 77
# define KlScanNumPlus 78
# define KlScanNum1 79
# define KlScanNum2 80
# define KlScanNum3 81
# define KlScanNum0 82
# define KlScanNumTeƒka 83
/* 84 klávesová AT */
# define KlScanSysRq 84
/* 101 klávesová AT */
# define KlScanF11 87
# define KlScanF12 88
/* specifické pro Baltazara */
# define KlScanPrav∞Alt 89
# define KlScanPrav∞Ctrl 90
# define KlScanDoleva 91
# define KlScanDoprava 92
# define KlScanNahoru 93
# define KlScanDolà 94
# define KlScanIns 95
# define KlScanDel 96
# define KlScanHome 97
# define KlScanEnd 98
# define KlScanPageUp 99
# define KlScanPageDown 100
# define KlScanNumEnter 101
# define KlScanNumLomítko 102
/* Animované objekty */
typedef long TypAnimP²edm╪t;
built_in(267) TypAnimP²edm╪t AnimP²edm╪tVytvo²( TypP²edm╪t první_p²edm╪t,
unsigned poƒet_p²edm╪tà,
int mód_animace, int transparentní );
built_in(268) void AnimP²edm╪tZruτ( TypAnimP²edm╪t& objekt );
built_in(269) void AnimP²edm╪tAnimuj( TypAnimP²edm╪t objekt,
int x, int y, int ƒíslo_fáze );
built_in(270) void AnimP²edm╪tSchovej( TypAnimP²edm╪t objekt );
built_in(271) int AnimNastavGrV∞stup( int v∞stup );
built_in(272) int AnimP²edm╪tPoziceX( TypAnimP²edm╪t objekt );
built_in(273) int AnimP²edm╪tPoziceY( TypAnimP²edm╪t objekt );
built_in(274) int AnimP²edm╪tFáze( TypAnimP²edm╪t objekt );
built_in(275) void AnimP²edm╪tDejP²ed( TypAnimP²edm╪t objekt,
TypAnimP²edm╪t p²ed_co );
built_in(276) void AnimP²edm╪tDejZa( TypAnimP²edm╪t objekt,
TypAnimP²edm╪t za_co );
built_in(277) int AnimP²edm╪tKolidujeS( TypAnimP²edm╪t objekt,
TypAnimP²edm╪t s_kter∞m );
built_in(278) int AnimP²edm╪tZobrazen( TypAnimP²edm╪t objekt );
built_in(280) void* malloc( unsigned Velikost );
built_in(281) void free( void* pam؜ );
built_in(282) void* realloc( void* pam╪£, unsigned nová_velikost );
built_in(280) void* HromadaAlokujPam؜( unsigned Velikost );
built_in(281) void HromadaUvolniPam؜( void* pam؜ );
built_in(282) void* HromadaZnovuAlokujPam؜( void* pam؜,
unsigned nová_velikost );
built_in(283) unsigned HromadaVolnáPam╪£();
built_in(284) unsigned HromadaVolnáSouvisláPam╪£();
built_in(285) unsigned StrVelikost( string& Str );
built_in(286) string& StrNastavVelikost( string& Str, unsigned Velikost );
built_in( 2) unsigned StrDélka( char* Str );
built_in(287) string& StrVloº( string& Str, string Str2, unsigned Pozice );
built_in(288) string& StrSmaº( string& Str, unsigned Pozice, unsigned Poƒet );
built_in(289) string StrKopie( string& Str, unsigned Pozice, unsigned Poƒet );
built_in(290) string StrL¼íslo( long ¼íslo, int Délka );
built_in(291) string StrD¼íslo( double ¼íslo, int Délka, int DesetinnáDélka );
built_in(292) string& StrVytvo²( string& Str );
built_in(293) string& StrZruτ( string& Str );
built_in(308) string StrNaMalá( char* Str );
built_in(309) string StrNaVelká( char* Str );
built_in(310) string StrBezDiakritiky( char* Str );
built_in(311) string StrZnak( int Znak, unsigned Poƒet );
built_in(294) string ProgramCesta();
typedef struct TypJoystickStav1 {
int X, Y;
char TlaĒtko[2];
} TypJoystickStav[2];
built_in(295) void Joystick¼ti( struct TypJoystickStav1* Joystick );
built_in(296) long Systémov∞Tikot();
built_in(297) int DatumPlatn∞( TypDatum& Datum );
built_in(298) TypDatum& DatumPosuσ( TypDatum& Datum, int Roky, int M╪síce, long Dny );
built_in(299) long DatumRozdíl( TypDatum& Datum1, TypDatum& Datum2 );
built_in(300) TypDatum& DatumNastavDenT∞dne( TypDatum& Datum );
built_in(301) int ¼asPlatn∞( Typ¼as& ¼as );
built_in(302) Typ¼as& ¼asPosuσ( Typ¼as& ¼as, long Hodiny, long Minuty, long Sekundy, long Setiny );
built_in(303) long ¼asRozdíl( Typ¼as& ¼as1, Typ¼as& ¼as2 );
built_in(304) void Datum¼asPosuσ( TypDatum& Datum, Typ¼as& ¼as,
int Roky, int M╪síce, long Dny,
long Hodiny, long Minuty, long Sekundy, long Setiny );
built_in(305) void Datum¼asRozdíl( TypDatum& Datum1, Typ¼as& ¼as1,
TypDatum& Datum2, Typ¼as& ¼as2,
long& Dny, long& Setiny );
built_in(314) void GrNastavBarvuPalety( int ¼íslo, int R, int G, int B );
# define __BALTAZAR__
# endif