2008-07-25 08:01:07 +00:00
|
|
|
// gestione tabelle lavanderie
|
2008-07-18 09:58:50 +00:00
|
|
|
|
2008-07-23 14:01:00 +00:00
|
|
|
#include <automask.h>
|
2008-07-25 08:01:07 +00:00
|
|
|
#include <modtbapp.h>
|
2008-07-23 14:01:00 +00:00
|
|
|
|
2008-07-25 08:01:07 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// Maschera generica di gestione tabelle lavanderie
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TLV_table_mask : public TAutomask
|
2008-07-23 14:01:00 +00:00
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual bool on_field_event(TOperable_field &o, TField_event e, long jolly);
|
2008-07-25 08:01:07 +00:00
|
|
|
|
2008-07-23 14:01:00 +00:00
|
|
|
public:
|
2008-07-25 08:01:07 +00:00
|
|
|
TLV_table_mask(const char* name) : TAutomask(name) {}
|
2008-07-23 14:01:00 +00:00
|
|
|
};
|
|
|
|
|
2008-07-25 08:01:07 +00:00
|
|
|
bool TLV_table_mask::on_field_event(TOperable_field &o, TField_event e, long jolly)
|
2008-07-23 14:01:00 +00:00
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
2008-07-18 09:58:50 +00:00
|
|
|
|
2008-07-25 08:01:07 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// Applicazione generica di gestione tabelle lavanderie
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
2008-07-18 09:58:50 +00:00
|
|
|
// applicazione per la gestione delle tabelle di lavanderia
|
2008-07-25 08:01:07 +00:00
|
|
|
class TLV_table_app : public TTable_module_application
|
2008-07-18 09:58:50 +00:00
|
|
|
{
|
2008-07-25 08:01:07 +00:00
|
|
|
protected: // TRelation_application
|
|
|
|
virtual TMask* user_create_mask();
|
2008-09-11 15:47:10 +00:00
|
|
|
virtual bool get_next_key(TToken_string& key);
|
2008-07-18 09:58:50 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
};
|
|
|
|
|
2008-07-25 08:01:07 +00:00
|
|
|
// Ridefinire questo metodo per le eventuali maschere speciali
|
|
|
|
// che abbiano controlli speciali da effettuare nella on_field_evebt
|
|
|
|
TMask* TLV_table_app::user_create_mask()
|
2008-07-18 09:58:50 +00:00
|
|
|
{
|
2008-07-25 08:01:07 +00:00
|
|
|
const TString4 name = get_relation()->file(0).name();
|
|
|
|
if (name == "???")
|
|
|
|
return new TLV_table_mask("???");
|
|
|
|
// Le maschere normali sono gia' gestite dalla TTable_module_application
|
|
|
|
return TTable_module_application::user_create_mask();
|
2008-07-18 09:58:50 +00:00
|
|
|
}
|
|
|
|
|
2008-09-11 15:47:10 +00:00
|
|
|
// Cerca di generare automaticamente la prossima chiave numerica di una tabella
|
|
|
|
bool TLV_table_app::get_next_key(TToken_string& key)
|
|
|
|
{
|
|
|
|
// Controlla se il campo COTDAB e' numerico
|
|
|
|
TMask& msk = curr_mask();
|
|
|
|
TMask_field* keyfield = msk.find_by_fieldname("CODTAB");
|
|
|
|
if (keyfield != NULL && keyfield->is_kind_of(CLASS_REAL_FIELD))
|
|
|
|
{
|
|
|
|
long num = 1;
|
|
|
|
TLocalisamfile& tab = get_relation()->lfile();
|
|
|
|
if (tab.last() == NOERR) // Cerca l'eventuale ultimo record della tabella
|
|
|
|
num += tab.get_long("CODTAB");
|
|
|
|
// Costrusci la chiave formattata alla giusta lunghezza del campo, es: "101|0003"
|
|
|
|
key.format("%d|%0*ld", keyfield->dlg(), keyfield->size(), num);
|
|
|
|
}
|
|
|
|
return key.full(); // Ritorna true se la procedura e' riuscita
|
|
|
|
}
|
|
|
|
|
2008-07-18 09:58:50 +00:00
|
|
|
int lv0100(int argc, char* argv[])
|
|
|
|
{
|
2008-07-25 08:01:07 +00:00
|
|
|
TLV_table_app a;
|
|
|
|
a.run(argc, argv, TR("Tabella Lavanderie"));
|
2008-07-18 09:58:50 +00:00
|
|
|
return 0;
|
|
|
|
}
|