campo-sirio/ab/ab1200.cpp
sauro d0542d7ca9 //In ab0 è stato modicata la gestione del piano dei conti:
//ab0 sono stati aggiunti dei commenti
//ab0100.cpp è stato commentato tutto quello che riguarda il livello di struttura
//in quanto questo campo non viene più utilizzato ed è stato aggiornato ab0200.h
//la maschera è stata modificata: aggiunto il compo "conto sospeso" e tolto quello del
//livello di struttura
//AB1 esegue la stampa delle tabelle e del piano dei conti
//sono state aggiunti i relativi file delle maschere


git-svn-id: svn://10.65.10.50/trunk@5434 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-10-23 15:13:47 +00:00

75 lines
2.4 KiB
C++
Executable File

// ab1200 Stampa Piano dei Conti
#include <mask.h>
#include <form.h>
#include <applicat.h>
#include <urldefid.h> //Definisce BAR_ITEM(1)
#include "AB1.h"
#include "ab1200.h"
class AB1200_application : public TApplication
{
public:
virtual bool create() ; //Crea la finestra principale
virtual bool destroy() ; //Distrugge la finestra principale
virtual bool menu(MENU_TAG); //Controlla il menu
AB1200_application() {} //Costruttore
virtual ~AB1200_application() {} //Distruttore
};
bool AB1200_application::create()
{
dispatch_e_menu(BAR_ITEM(1)); //Simula la selezione di una voce di menu
return TRUE;
}
bool AB1200_application::destroy()
{
return TRUE;
}
bool AB1200_application::menu(MENU_TAG)
{
TForm f("AB1200"); //form: AB1200.frm
TMask m("AB1200"); //machera: AB1200.uml
while (m.run() != K_QUIT) //Finchè non viene premuto un tasto di uscita
{
TString cod_from, cod_to; //Dichiarazione
cod_from=m.get(F_INIZIO); //Inizializzo con quello che preleva dal campo della maschera
cod_to=m.get(F_FINE);
//Dati validi: (cod_from <= cod_to) and (cod_to = "vuoto")
bool err = ((cod_from > cod_to) && (cod_to != "") );
if (err)
error_box("Il campo iniziale deve essere vuoto o minore del campo finale");
else
{
TCursor* cur = f.cursor(); //Ritorna il cursore corrente (oggetto)
TRectype rec_from(cur->curr()); //TRectype: classe per la definizione del tipo record
//rec_from è l'oggetto a cui associo l'indice corrente
rec_from.zero(); //lo vuoto
rec_from.put("CODCBL",cod_from); //e lo riempio con il campo contenuto nel database all'indice iniziale
TRectype rec_to(cur->curr()); //creo un nuovo oggetto a cui associare l'indice
rec_to.zero(); //lo vuoto
if (cod_to.not_empty()) //se cod_to (letto dal campo della tabella) non è vuoto
rec_to.put("CODCBL",cod_to); //gli inserisco l'indice finale letto
//altrimenti va fino alla ifne del file
cur->setregion(rec_from,rec_to); //all'indice associo la regine di stampa
f.print(); //Stampa
}
}
return FALSE;
}
int ab1200(int argc, char** argv)
{
AB1200_application a;
a.run(argc, argv, "Stampa Piano dei Conti");
return 0;
}