home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 July
/
Chip_1998-07_cd.bin
/
tema
/
sgp
/
sgpdemo
/
SGPBALT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-22
|
38KB
|
992 lines
# ifndef __BALTAZAR__
///////////////////////////////////
//
// Baltazar v5.00
// (c)1995,1996,1997 SGP Systems
//
//
# define __BALTAZAR_VERSION__ 500 // v5.00
# pragma idchars = "╪τƒ²º∞áíéúàó╘£σ╖µ¼ⁿªφ╡╓ÉΘ▐α╥¢╒äëüößÄ╙ÜÖ╨╤ê¥ÆæûòΩΦôΓ"
typedef long TypP²edm╪t; // v4.00
// datum
typedef struct {
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í...
} TypDatum;
// ƒas
typedef struct {
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álenostP²edm╪tuP²edB( TypP²edm╪t predmet );
built_in( 22) int Vzdálenost¼tverceP²edB( int barva );
built_in( 23) int VzdálenostP²ekáºkyP²edB();
built_in( 24) TypP²edm╪t NejbliºτíP²edm╪tP²edB();
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
// 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
//
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+
//
// nová 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
# 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
# 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
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, 5.00
//
// klávesa
built_in(2) int gKlávesa;
// 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 procesoru 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) TypP²edm╪t 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(332) void NastavZaƒátekAnimaceBaltazara( TypP²edm╪t první );
built_in(164) int TransparentníBarvaP²edm╪tu( TypP²edm╪t predm );
built_in(165) int NastavTransparentníBarvuP²edm╪tu( TypP²edm╪t predm, int barva );
built_in(166) long RychlostCPU();
built_in(333) void ¼ekejNaVR();
built_in(167) int Txtⁿádkov∞Editor( string& ret, unsigned max_znaku,
unsigned sirka, int pozice, int* ukonceni );
built_in(168) int NastavViditelnostBaltazara( int Viditelnost );
// 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(316) int GrKresliP²edm╪ty( TypP²edm╪t predm, int transparentn╪,
int x, int y, int τ, int v );
built_in(192) int GrNastavObrazP²edm╪tu( TypP²edm╪t predm,
int x, int y,
int pouze_z_plochy );
built_in(317) int GrNastavObrazP²edm╪tà( TypP²edm╪t predm,
int x, int y,
int τ, int v,
int pouze_z_plochy );
built_in(329) int GrNaƒtiBMP( int x, int y, char* JménoSouboru,
int BMPx, int BMPy, int BMPw, int BMPh,
int BMPPaleta );
built_in(330) int GrUloºBMP( int x, int y, int w, int h, char* JménoSouboru );
typedef struct {
long Velikost;
long µí²ka;
long V∞τka;
unsigned PoƒetRovin;
unsigned BityNaBod;
long Komprese;
long VelikostObrázku;
long XBodyNaMetr, YBodyNaMetr;
long PoƒetPouºit∞chBarev;
long PoƒetDàleºit∞chBarev;
} TypBMPInfo;
built_in(331) int GrNaƒtiBMPInfo( char* JménoSouboru, TypBMPInfo& BMPInfo );
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(314) void GrNastavBarvuPalety( int ¼íslo, int R, int G, int B );
built_in(326) void GrBarvaPalety( int ¼íslo, int& R, int& G, int& B );
built_in(307) int Gr¼tiSⁿet╪zec( char* prompt, string& retezec, int pocet_znaku, int edituj_obsah, int barvy );
built_in(320) int Grⁿádkov∞Editor( string& retezec, int pocet_znaku, int pozice, int blok_zacatek, int blok_konec, 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 SouborDataPlatná( TypSoubor s );
built_in(321) int SouborKonec( TypSoubor s );
built_in(233) int SouborChyba( TypSoubor s );
built_in(322) unsigned SouborHandle( TypSoubor s );
built_in(323) int SouborJeZa²ízení( TypSoubor s );
built_in(324) int SouborP²ipravenPro¼tení( TypSoubor s );
built_in(325) int SouborP²ipravenProZápis( 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;
built_in(0) TypMyτUdálost gMyτ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();
built_in(249) void MyτKonecObsluhy();
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(318) void MyτZm╪σGrKurzor( TypP²edm╪t p²edm╪t );
built_in(257) void MyτNastavTxtKurzor( unsigned and_mask, unsigned xor_mask );
built_in(319) void MyτZm╪σTxtKurzor( 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;
built_in(1) TypKlUdálost gKlUdá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 );
// heap
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╪£();
// string
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(327) int StrSmaºPod²et╪zec( string& Str, unsigned Pozice, char* SubStr );
built_in(328) unsigned StrPozicePod²et╪zce( char* Str, unsigned Pozice, char* SubStr );
built_in(289) string StrKopie( char* 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();
// joystick
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();
// datum
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 );
# define __BALTAZAR__
# endif