58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 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 TSkeleton_application
 | |
| {
 | |
| public:
 | |
| 	virtual void main_loop();		//Controlla il menu
 | |
| 
 | |
| 	AB1200_application() {}				//Costruttore
 | |
| 	virtual ~AB1200_application() {} //Distruttore
 | |
| };
 | |
| 
 | |
| 
 | |
| void AB1200_application::main_loop()
 | |
| {         
 | |
|  	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(TR("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
 | |
| 	  	}
 | |
|    }
 | |
| }
 | |
| 
 | |
| int ab1200(int argc, char** argv)
 | |
| {
 | |
| 	AB1200_application a;
 | |
| 	a.run(argc, argv, TR("Stampa Piano dei Conti"));
 | |
| 	return 0;
 | |
| }
 |