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 >
Text File  |  2002-09-20  |  3KB  |  110 lines

  1. /***************************************/
  2. // Nastavení p²ikompilovávan∞ch modulà: /
  3. /***************************************/
  4.  
  5. // Bu╘to se p²ikompilují vτechny moduly:
  6. # define INCLUDE_MODULE_ALL 1
  7.  
  8. // Nebo pouze následující vybrané:
  9. # define INCLUDE_MODULE_DAMY 1
  10. # define INCLUDE_MODULE_STANICE 1
  11. # define INCLUDE_MODULE_TSP 1
  12. # define INCLUDE_MODULE_CESTA 1
  13.  
  14. // Poznámka ƒ.1: Moduly se vy²azují z ƒinnosti zakomentováním (tzn. p²idáním
  15. // dvou lomítek na zaƒátek ²ádku, podobn╪ jako je zakomentován tento text).
  16. // Poznámka ƒ.2: Zm╪ny v zakomentování dílƒích modulà nemají na program vliv,
  17. // pokud není souƒasn╪ zakomentován ²ádek pro p²ikompilování vτech modulà.
  18. // Poznámka ƒ.3: Vºdy musí b∞t v ƒinnosti alespoσ jeden modul.
  19.  
  20. /***************************************/
  21.  
  22. # ifdef INCLUDE_MODULE_ALL
  23. # define INCLUDE_MODULE_DAMY 1
  24. # define INCLUDE_MODULE_STANICE 1
  25. # define INCLUDE_MODULE_TSP 1
  26. # define INCLUDE_MODULE_CESTA 1
  27. # endif
  28.  
  29. struct _ModulInfo {
  30.   string KrátkéJméno; // krátké jméno modulu - max. 8 znakà, bez diakritiky
  31.   string DlouhéJméno; // dlouhé jméno modulu - libovolná délka, vƒ. diakritiky
  32.   string Popis; // struƒn∞ popis ƒinnosti modulu
  33.   double Verze; // ƒíslo verze modulu
  34.   TypDatum Datum; // datum poslední aktualizace modulu
  35.   string Autor; // jméno autora modulu
  36.   string Kontakt; // kontaktní údaje autora modulu
  37.   // ukazatele na funkce:
  38.   void (*Start)(void); // p²ed startem v∞poƒtu
  39.   void (*Hotovo)(void); // po dokonƒení v∞poƒtu
  40.   void (*Θklid)(void); // úklid po ƒinnosti modulu
  41.   void (*ZadáníVstupu)(void); // zadání vstupních dat v∞poƒtu
  42.   void (*OptimalizaceVstupu)(void); // optimalizace vstupních dat v∞poƒtu
  43.   void (*OpakováníInicializace)(void); // inicializace opakování ƒlánkà
  44.   int (*OpakováníTest)(void); // test, zda pokraƒovat v opakování ƒlánkà
  45.   void (*OpakováníIterace)(void); // iterace p²i opakování ƒlánkà
  46.   void (*Dalτí¼lánek_P²ed)(void); // p²ed zapoƒetím v∞poƒtem dalτího ƒlánku
  47.   void (*Dalτí¼lánek_Po)(void); // po dokonƒení v∞poƒtu dalτího ƒlánku
  48.   int (*TestVyhovuje)(void); // test, zda aktuální ²eτení vyhovuje podmínkám
  49.   int (*TestNalezeno)(void); // test, zda bylo nalezeno kompletní ²eτení
  50.   void (*Nalezeno)(void); // p²i nalezení kompletního vyhovujícího ²eτení
  51.   } ModulyInfo[0
  52.  
  53. # ifdef INCLUDE_MODULE_DAMY
  54. +1
  55. # endif
  56.  
  57. # ifdef INCLUDE_MODULE_STANICE
  58. +1
  59. # endif
  60.  
  61. # ifdef INCLUDE_MODULE_TSP
  62. +1
  63. # endif
  64.  
  65. # ifdef INCLUDE_MODULE_CESTA
  66. +1
  67. # endif
  68.  
  69. ];
  70.  
  71. struct _ModulInfo* AktivníModul; // ukazazel na strukturu ModulInfo práv╪ aktivního modulu
  72.  
  73. # include "backtraq.mod\shared.inc"
  74.  
  75. # ifdef INCLUDE_MODULE_DAMY
  76. # include "backtraq.mod\damy.inc"
  77. # endif
  78.  
  79. # ifdef INCLUDE_MODULE_STANICE
  80. # include "backtraq.mod\stanice.inc"
  81. # endif
  82.  
  83. # ifdef INCLUDE_MODULE_TSP
  84. # include "backtraq.mod\tsp.inc"
  85. # endif
  86.  
  87. # ifdef INCLUDE_MODULE_CESTA
  88. # include "backtraq.mod\cesta.inc"
  89. # endif
  90.  
  91. void InfoOModulech(void) {
  92. int modul_id=0;
  93.  
  94. # ifdef INCLUDE_MODULE_DAMY
  95. modDamy_InfoOModulu(&ModulyInfo[modul_id++]);
  96. # endif
  97.  
  98. # ifdef INCLUDE_MODULE_STANICE
  99. modStanice_InfoOModulu(&ModulyInfo[modul_id++]);
  100. # endif
  101.  
  102. # ifdef INCLUDE_MODULE_TSP
  103. modTSP_InfoOModulu(&ModulyInfo[modul_id++]);
  104. # endif
  105.  
  106. # ifdef INCLUDE_MODULE_CESTA
  107. modCesta_InfoOModulu(&ModulyInfo[modul_id++]);
  108. # endif
  109.  
  110. }