campo-sirio/ba/ba1600.h
guy e5350ebd43 ba0.cpp Gestita abilitazione delle voci di menu in base ai moduli attivati
ba1600?.*   Continua l'epopea delle installazioni!


git-svn-id: svn://10.65.10.50/trunk@5571 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-11-06 15:05:42 +00:00

70 lines
2.7 KiB
C++
Executable File

#ifndef __BA1600_H
#define __BA1600_H
#ifndef __CONFIG_H
#include <config.h>
#endif
class TInstall_ini : public TConfig
{
public:
int build_list(const TString& m, TString_array& a,
const char* s = NULL, bool agg = FALSE);
int build_complete_list(const TString& m, TString_array& a,
const char* s = NULL, bool agg = FALSE);
void copy_paragraph(const char* module, const char* summary);
void copy_module_paragraphs(const char* module, const char* summary);
static const char* default_name() { return "install.ini"; }
TInstall_ini() : TConfig("install.ini", "Main") { }
TInstall_ini(const char* path) : TConfig(path, "Main") { }
virtual ~TInstall_ini() { }
};
// Mitica token string che sceglie da sola il separatore
class TAuto_token_string : public TToken_string
{
protected:
TAuto_token_string& create(const char* ts);
public:
TAuto_token_string& operator=(const char* ts) { return create(ts); }
TAuto_token_string& operator=(const TString& ts) { return create(ts); }
TAuto_token_string& operator=(const TToken_string& ts) { return create(ts); }
TAuto_token_string& operator=(const TAuto_token_string& ts) { return create(ts); }
TAuto_token_string() : TToken_string(50) { }
TAuto_token_string(const char* ts) { create(ts); }
virtual ~TAuto_token_string() { }
};
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga) \
TToken_string* __riga; \
for (int __r = 0; \
__r < __sheet.items() && (const char*)(__riga = &__sheet.row(__r)); \
__r++)
#define FOR_EACH_SHEET_ROW_BACK(__sheet, __r, __riga) \
TToken_string* __riga; \
for (int __r = __sheet.items()-1; \
__r >= 0 && (const char*)(__riga = &__sheet.row(__r)); \
__r--)
#define FOR_EACH_ARRAY_ROW_BACK(__arr, __r, __riga) \
TToken_string* __riga; \
for (int __r = __arr.last(); \
__r >= 0 && (const char*)(__riga = &__arr.row(__r)); \
__r = __arr.pred(__r))
#define FOR_EACH_ASSOC_STRING(__ass, __obj, __key, __str) \
const char *__key, *__str; __ass.restart; \
for (THash_object* __obj = __ass.get_hashobj(); \
__obj && (__str = (const TString&)__obj->obj(), __key = __obj->key()); \
__obj = __ass.get_hashobj())
#define FOR_EACH_TOKEN(__tok, __str) \
for (const char* __str = __tok.get(0); __str; __str = __tok.get())
#endif