campo-sirio/ha/hacnv200.cpp
guy 96de826dbc Patch level : 10 ha
Files correlati     :
Ricompilazione Demo : [ ]
Commento            : conversione hardy movimenti (rifatta struttura)


git-svn-id: svn://10.65.10.50/branches/R_10_00@21241 c028cbd2-c16b-5b4b-a496-9718f37d4682
2010-12-06 11:49:38 +00:00

123 lines
2.9 KiB
C++
Executable File

#include "halib.h"
#include "hacnvlib.h"
#include "hacnv200a.h"
#include <applicat.h>
#include <automask.h>
#include <defmask.h>
#include <progind.h>
#include <reprint.h>
#include <reputils.h>
#include <tabutil.h>
const char* const APPNAME = TR("Conversione movimenti");
///////////////////////////////////////////////////////////
// TConvMovimentiHardy_mask
///////////////////////////////////////////////////////////
class TConvMovimentiHardy_mask : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
void serialize(bool bSave);
public:
void trasferisci();
TConvMovimentiHardy_mask();
virtual ~TConvMovimentiHardy_mask();
};
// Funzione di tarsferimento dati da/verso file .ini con lo stesso nome della maschera
// Andrebbe messo in libreria
void TConvMovimentiHardy_mask::serialize(bool bSave)
{
TFilename n = source_file(); n.ext("ini"); // Construisce il nome del .ini in base al .msk
TConfig cfg(n, "Main"); // Crea il file di configurazione
TString4 id;
for (int i = fields()-1; i >= 0; i--) // Scandisce tutti i campi della maschera ...
{
TMask_field& f = fld(i);
if (f.active() && f.is_loadable()) // ... selezionando solo quelli editabili
{
id.format("%d", f.dlg());
if (bSave) // A seconda del flag di scrittura ...
cfg.set(id, f.get()); // ... o scrive sul .ini
else
f.set(cfg.get(id)); // ... o legge dal .ini
}
}
}
void TConvMovimentiHardy_mask::trasferisci()
{
TString query_header;
query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n";
TReport_book book;
THardy_log log;
bool rep_to_print = false;
bool go_on = true;
if (go_on && (get_int(F_ANNO)!=0))
{
//THardy_movcont pc;
//pc.init(TR("Movimenti contabili"), query_header, log);
//go_on = pc.trasferisci();
//book.add(log);
//rep_to_print = true;
}
if (rep_to_print && book.pages() > 0)
book.preview();
}
bool TConvMovimentiHardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case DLG_OK:
if (e == fe_button)
serialize(true);
break;
default:
break;
}
return true;
}
TConvMovimentiHardy_mask::TConvMovimentiHardy_mask() : TAutomask("hacnv200a")
{
serialize(false);
}
TConvMovimentiHardy_mask::~TConvMovimentiHardy_mask()
{ }
///////////////////////////////////////////////////////////
// TConvMovimentiHardy
///////////////////////////////////////////////////////////
class TConvMovimentiHardy : public TSkeleton_application
{
protected:
virtual void main_loop();
};
void TConvMovimentiHardy::main_loop()
{
TConvMovimentiHardy_mask mask;
while (mask.run() == K_ENTER)
mask.trasferisci();
}
int hacnv200(int argc, char* argv[])
{
TConvMovimentiHardy ih;
ih.run(argc, argv, APPNAME);
return 0;
}