Patch level : 12.0 no-patch
Files correlati : Commento : - Aggiunto custom_box, permette di creare messaggi con al massimo 3 bottoni customizzati - Modificato costruttore TDate(int,int,int) adesso passando come giorno 31 mette in automatico l'ultimo del mese - Aggiunto commento esplicativo alle variabili della funzione FOR_EACH_SHEET_ROW in msksheet.h - recset & variant: corretto problema che poteva dare crash git-svn-id: svn://10.65.10.50/branches/R_10_00@23876 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									92a00f4d80
								
							
						
					
					
						commit
						55cbe98cd1
					
				@ -153,6 +153,24 @@ int noyesall_box(
 | 
				
			|||||||
  return r == RESP_DEFAULT ? K_YES : (r == RESP_2 ? K_NO : K_SPACE);
 | 
					  return r == RESP_DEFAULT ? K_YES : (r == RESP_2 ? K_NO : K_SPACE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @msg custom_box | Crea una finestra di RICHIESTA con il relativo messaggio
 | 
				
			||||||
 | 
					int custom_box(
 | 
				
			||||||
 | 
					  const char* fmt,   // @parm Messaggio da stampare nella finestra
 | 
				
			||||||
 | 
					  const char* buttons,	// Bottone Sinistra
 | 
				
			||||||
 | 
						const char* buttonc,	// Bottone Centro
 | 
				
			||||||
 | 
						const char* buttond,	// Bottone Destra
 | 
				
			||||||
 | 
						...)               // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  buildmsg();
 | 
				
			||||||
 | 
						if (__batch)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							__errors.add(msg);
 | 
				
			||||||
 | 
							return K_NO;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					  ASK_RESPONSE r = xvt_dm_post_ask(buttons, buttonc, buttond, msg);
 | 
				
			||||||
 | 
					  return r == RESP_DEFAULT ? K_YES : (r == RESP_2 ? K_NO : K_SPACE);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// @doc EXTERNAL
 | 
					// @doc EXTERNAL
 | 
				
			||||||
// @msg yesno_box | Crea una finestra di RICHIESTA con il relativo messaggio
 | 
					// @msg yesno_box | Crea una finestra di RICHIESTA con il relativo messaggio
 | 
				
			||||||
bool yesno_box(
 | 
					bool yesno_box(
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,7 @@ extern "C" {
 | 
				
			|||||||
  bool fatal_box(const char* fmt, ...);
 | 
					  bool fatal_box(const char* fmt, ...);
 | 
				
			||||||
  bool noyes_box(const char* fmt, ...);
 | 
					  bool noyes_box(const char* fmt, ...);
 | 
				
			||||||
  int noyesall_box(const char* fmt, ...);
 | 
					  int noyesall_box(const char* fmt, ...);
 | 
				
			||||||
 | 
						int custom_box(const char* fmt, const char* buttons, const char* buttonc, const char* buttond, ...);
 | 
				
			||||||
  bool yesno_box(const char* fmt, ...);
 | 
					  bool yesno_box(const char* fmt, ...);
 | 
				
			||||||
  int yesnoall_box(const char* fmt, ...);
 | 
					  int yesnoall_box(const char* fmt, ...);
 | 
				
			||||||
  int yesnocancel_box(const char* fmt, ...);
 | 
					  int yesnocancel_box(const char* fmt, ...);
 | 
				
			||||||
 | 
				
			|||||||
@ -854,6 +854,9 @@ static void cfg2file(int which_config, TFilename& file)
 | 
				
			|||||||
    break;
 | 
					    break;
 | 
				
			||||||
  case CONFIG_SSA:
 | 
					  case CONFIG_SSA:
 | 
				
			||||||
    file = "ssa.ini";
 | 
					    file = "ssa.ini";
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
						case CONFIG_SERVICE:
 | 
				
			||||||
 | 
					    file = "server/service.ini";
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    NFCHECK("Chi usa questo strano .ini?");
 | 
					    NFCHECK("Chi usa questo strano .ini?");
 | 
				
			||||||
 | 
				
			|||||||
@ -29,6 +29,8 @@ class TConfig;
 | 
				
			|||||||
#define CONFIG_OEM      9
 | 
					#define CONFIG_OEM      9
 | 
				
			||||||
// file parametri SSA (ssa.ini)
 | 
					// file parametri SSA (ssa.ini)
 | 
				
			||||||
#define CONFIG_SSA     10
 | 
					#define CONFIG_SSA     10
 | 
				
			||||||
 | 
					// file parametri CampoService (server/service.ini)
 | 
				
			||||||
 | 
					#define CONFIG_SERVICE 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Callback per for_each_paragraph
 | 
					// Callback per for_each_paragraph
 | 
				
			||||||
typedef int (*CONFIG_CALLBACK)(TConfig& cfg, void* jolly);
 | 
					typedef int (*CONFIG_CALLBACK)(TConfig& cfg, void* jolly);
 | 
				
			||||||
 | 
				
			|||||||
@ -106,7 +106,13 @@ TDate::TDate(const char* s)
 | 
				
			|||||||
TDate::TDate(int day, int month, int year)
 | 
					TDate::TDate(int day, int month, int year)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (day >= 1 && day <= 31 && month >= 1 && month <= 12 && year > 0)
 | 
					  if (day >= 1 && day <= 31 && month >= 1 && month <= 12 && year > 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							// 01/06/07 Tolla: Se passo il giorno 31 sicuramente voglio l'ultimo! Così passando 31/02/xx mi torna 
 | 
				
			||||||
 | 
							if(day == 31)
 | 
				
			||||||
 | 
							_val = makedata(last_day(month,year), month, year);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
			_val = makedata(day, month, year);
 | 
								_val = makedata(day, month, year);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    _val = NULLDATE;
 | 
					    _val = NULLDATE;
 | 
				
			||||||
}       
 | 
					}       
 | 
				
			||||||
 | 
				
			|||||||
@ -305,6 +305,11 @@ public:
 | 
				
			|||||||
  virtual ~TSheet_field();
 | 
					  virtual ~TSheet_field();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* FOR_EACH_SHEET_ROW(__sheet, __r, __riga) 
 | 
				
			||||||
 | 
					 * __sheet: variabile di tipo TSheet_field& dello sheet
 | 
				
			||||||
 | 
					 *		 __r: numero riga
 | 
				
			||||||
 | 
					 *	__riga: variabile TToken_string* contenente la riga
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga)           \
 | 
					#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga)           \
 | 
				
			||||||
  TString_array& sheetof##__riga = (__sheet).rows_array(); \
 | 
					  TString_array& sheetof##__riga = (__sheet).rows_array(); \
 | 
				
			||||||
  FOR_EACH_ARRAY_ROW(sheetof##__riga, __r, __riga)                           
 | 
					  FOR_EACH_ARRAY_ROW(sheetof##__riga, __r, __riga)                           
 | 
				
			||||||
 | 
				
			|||||||
@ -579,7 +579,11 @@ const TVariant& TRecordset::get_var(const char* name) const
 | 
				
			|||||||
bool TRecordset::set_var(const char* name, const TVariant& var, bool create)
 | 
					bool TRecordset::set_var(const char* name, const TVariant& var, bool create)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  bool ok = false;
 | 
					  bool ok = false;
 | 
				
			||||||
  TVariant* old = (TVariant*)_var.objptr(name);
 | 
					
 | 
				
			||||||
 | 
						TVariant* old = NULL;
 | 
				
			||||||
 | 
						if(_var.is_key(name))
 | 
				
			||||||
 | 
							old = (TVariant*)_var.objptr(name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (old != NULL)
 | 
					  if (old != NULL)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    *old = var;
 | 
					    *old = var;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@
 | 
				
			|||||||
// TVariant
 | 
					// TVariant
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const TVariant NULL_VARIANT;
 | 
					const TVariant NULL_VARIANT = "";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TVariant::set_null()
 | 
					void TVariant::set_null()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user