Patch level : 12.0 no-patch
Files correlati : f90200.cpp Commento : Aggiunto file per categorie documentali
This commit is contained in:
		
							parent
							
								
									e61201e805
								
							
						
					
					
						commit
						7cedb237fa
					
				
							
								
								
									
										110
									
								
								src/f9/f90200.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								src/f9/f90200.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
			
		||||
#include "f90.h"
 | 
			
		||||
#include "applicat.h"
 | 
			
		||||
#include "automask.h"
 | 
			
		||||
#include "f90200a.h"
 | 
			
		||||
#include "tsdb.h"
 | 
			
		||||
#include "../fp/fplib.h"
 | 
			
		||||
#include "f901tab.h"
 | 
			
		||||
#include "f9lib.h"
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////////
 | 
			
		||||
// TConfigurazione_sostitutiva_msk
 | 
			
		||||
///////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
class TConfigurazione_sostitutiva_msk : public TAutomask
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
 | 
			
		||||
  bool on_key(KEY key) override;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
  TConfigurazione_sostitutiva_msk() : TAutomask("f90200a") {  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool TConfigurazione_sostitutiva_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
			
		||||
{
 | 
			
		||||
  switch(o.dlg())
 | 
			
		||||
  {
 | 
			
		||||
  case DLG_OK:
 | 
			
		||||
    if (e == fe_button)
 | 
			
		||||
      bool simo = true;
 | 
			
		||||
    break;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TConfigurazione_sostitutiva_msk::on_key(KEY key)
 | 
			
		||||
{
 | 
			
		||||
  if (key == K_DEL)
 | 
			
		||||
  {
 | 
			
		||||
    TSheet_field& sf = sfield(S_CLASSDOC);
 | 
			
		||||
    sf.hide();
 | 
			
		||||
    int row = sf.selected();
 | 
			
		||||
    TString_array& arr = sf.rows_array();
 | 
			
		||||
    arr.destroy(row, true);
 | 
			
		||||
    sf.force_update();
 | 
			
		||||
    sf.show();
 | 
			
		||||
  }
 | 
			
		||||
  return TAutomask::on_key(key);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////////
 | 
			
		||||
// TConfigurazione_sostitutiva_app
 | 
			
		||||
///////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
class TConfigurazione_sostitutiva_app : public TSkeleton_application
 | 
			
		||||
{
 | 
			
		||||
  TString _log;
 | 
			
		||||
  void add_error_log(TString& query);
 | 
			
		||||
  void main_loop() override;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
  TConfigurazione_sostitutiva_app() {  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TConfigurazione_sostitutiva_app::add_error_log(TString& query)
 | 
			
		||||
{
 | 
			
		||||
  _log << "\n" << query << "\n" << db().sq_get_text_error() << "\n" << db().sq_get_string_error();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TConfigurazione_sostitutiva_app::main_loop()
 | 
			
		||||
{
 | 
			
		||||
  TConfigurazione_sostitutiva_msk msk;
 | 
			
		||||
  while(msk.run() == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
    TSheet_field& sf = msk.sfield(S_CLASSDOC);
 | 
			
		||||
    TString query;
 | 
			
		||||
    FOR_EACH_SHEET_ROW(sf, nr, row)
 | 
			
		||||
    {
 | 
			
		||||
      TString where_s;
 | 
			
		||||
      where_s << "";
 | 
			
		||||
      query << "IF EXIST (SELECT * FROM " F9_DRT " WHERE " << where_s << ")\n"
 | 
			
		||||
        "  UPDATE " F9_DRT " SET \n"
 | 
			
		||||
        "  WHERE " << where_s << ";\n"
 | 
			
		||||
        "ELSE"
 | 
			
		||||
        "  INSERT INTO " F9_DRT " (  ) \n"
 | 
			
		||||
        "  VALUES ();\n";
 | 
			
		||||
    }
 | 
			
		||||
    bool ok = db().sq_set_exec(query, false);
 | 
			
		||||
    ok &= db().sq_commit();
 | 
			
		||||
    if (false)
 | 
			
		||||
    {
 | 
			
		||||
      add_error_log(query);
 | 
			
		||||
      ofstream fout;
 | 
			
		||||
      fout.open("f9.config.error.txt");
 | 
			
		||||
      fout << _log << "\n";
 | 
			
		||||
      error_box("Errore nel salvataggio dei dati. Controllare file di errore f9.config.error.txt");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int f90200(int argc, char* argv[])
 | 
			
		||||
{
 | 
			
		||||
  TConfigurazione_sostitutiva_app app;
 | 
			
		||||
  app.run(argc, argv, TR("Configurazione Archiviazione Sostitutiva"));
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user