campo-sirio/ba/ba1600.h
guy 7ee82412b9 ba0.cpp Usato metodo remove_all dei TConfig per settare corretamente dirty
ba1600*  Mitico fascicolator
ba1700*  Mistico sfascicolator


git-svn-id: svn://10.65.10.50/trunk@5598 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-11-11 12:03:20 +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 export_paragraph(const char* module, const char* summary);
void export_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_ARRAY_ROW(__arr, __r, __riga) \
TToken_string* __riga; \
for (int __r = __arr.first(); \
__riga = (TToken_string*)__arr.objptr(__r); \
__r = __arr.succ(__r))
#define FOR_EACH_ARRAY_ROW_BACK(__arr, __r, __riga) \
TToken_string* __riga; \
for (int __r = __arr.last(); \
__riga = (TToken_string*)__arr.objptr(__r); \
__r = __arr.pred(__r))
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga) \
FOR_EACH_ARRAY_ROW(__sheet.rows_array(), __r, __riga)
#define FOR_EACH_SHEET_ROW_BACK(__sheet, __r, __riga) \
FOR_EACH_ARRAY_ROW_BACK(__sheet.rows_array(), __r, __riga)
#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