home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2002 December
/
PCWorld_2002-12_cd.bin
/
Software
/
Komercni
/
Baltik
/
katB.exe
/
katB
/
BACKTRAQ
/
BACKTRAQ.MOD
/
MODULY.INC
< prev
next >
Wrap
Text File
|
2002-09-20
|
3KB
|
110 lines
/***************************************/
// Nastavení p²ikompilovávan∞ch modulà: /
/***************************************/
// Bu╘to se p²ikompilují vτechny moduly:
# define INCLUDE_MODULE_ALL 1
// Nebo pouze následující vybrané:
# define INCLUDE_MODULE_DAMY 1
# define INCLUDE_MODULE_STANICE 1
# define INCLUDE_MODULE_TSP 1
# define INCLUDE_MODULE_CESTA 1
// Poznámka ƒ.1: Moduly se vy²azují z ƒinnosti zakomentováním (tzn. p²idáním
// dvou lomítek na zaƒátek ²ádku, podobn╪ jako je zakomentován tento text).
// Poznámka ƒ.2: Zm╪ny v zakomentování dílƒích modulà nemají na program vliv,
// pokud není souƒasn╪ zakomentován ²ádek pro p²ikompilování vτech modulà.
// Poznámka ƒ.3: Vºdy musí b∞t v ƒinnosti alespoσ jeden modul.
/***************************************/
# ifdef INCLUDE_MODULE_ALL
# define INCLUDE_MODULE_DAMY 1
# define INCLUDE_MODULE_STANICE 1
# define INCLUDE_MODULE_TSP 1
# define INCLUDE_MODULE_CESTA 1
# endif
struct _ModulInfo {
string KrátkéJméno; // krátké jméno modulu - max. 8 znakà, bez diakritiky
string DlouhéJméno; // dlouhé jméno modulu - libovolná délka, vƒ. diakritiky
string Popis; // struƒn∞ popis ƒinnosti modulu
double Verze; // Ēslo verze modulu
TypDatum Datum; // datum poslední aktualizace modulu
string Autor; // jméno autora modulu
string Kontakt; // kontaktní údaje autora modulu
// ukazatele na funkce:
void (*Start)(void); // p²ed startem v∞poƒtu
void (*Hotovo)(void); // po dokonƒení v∞poƒtu
void (*Θklid)(void); // úklid po ƒinnosti modulu
void (*ZadáníVstupu)(void); // zadání vstupních dat v∞poƒtu
void (*OptimalizaceVstupu)(void); // optimalizace vstupních dat v∞poƒtu
void (*OpakováníInicializace)(void); // inicializace opakování ƒlánkà
int (*OpakováníTest)(void); // test, zda pokraƒovat v opakování ƒlánkà
void (*OpakováníIterace)(void); // iterace p²i opakování ƒlánkà
void (*Dalτí¼lánek_P²ed)(void); // p²ed zapoƒetím v∞poƒtem dalτího ƒlánku
void (*Dalτí¼lánek_Po)(void); // po dokonƒení v∞poƒtu dalτího ƒlánku
int (*TestVyhovuje)(void); // test, zda aktuální ²eτení vyhovuje podmínkám
int (*TestNalezeno)(void); // test, zda bylo nalezeno kompletní ²eτení
void (*Nalezeno)(void); // p²i nalezení kompletního vyhovujícího ²eτení
} ModulyInfo[0
# ifdef INCLUDE_MODULE_DAMY
+1
# endif
# ifdef INCLUDE_MODULE_STANICE
+1
# endif
# ifdef INCLUDE_MODULE_TSP
+1
# endif
# ifdef INCLUDE_MODULE_CESTA
+1
# endif
];
struct _ModulInfo* AktivníModul; // ukazazel na strukturu ModulInfo práv╪ aktivního modulu
# include "backtraq.mod\shared.inc"
# ifdef INCLUDE_MODULE_DAMY
# include "backtraq.mod\damy.inc"
# endif
# ifdef INCLUDE_MODULE_STANICE
# include "backtraq.mod\stanice.inc"
# endif
# ifdef INCLUDE_MODULE_TSP
# include "backtraq.mod\tsp.inc"
# endif
# ifdef INCLUDE_MODULE_CESTA
# include "backtraq.mod\cesta.inc"
# endif
void InfoOModulech(void) {
int modul_id=0;
# ifdef INCLUDE_MODULE_DAMY
modDamy_InfoOModulu(&ModulyInfo[modul_id++]);
# endif
# ifdef INCLUDE_MODULE_STANICE
modStanice_InfoOModulu(&ModulyInfo[modul_id++]);
# endif
# ifdef INCLUDE_MODULE_TSP
modTSP_InfoOModulu(&ModulyInfo[modul_id++]);
# endif
# ifdef INCLUDE_MODULE_CESTA
modCesta_InfoOModulu(&ModulyInfo[modul_id++]);
# endif
}