Patch level : 12.0 1086
Files correlati : nopatch Commento : Aggiunte funzioni ai report Immagini da oggetti esterni sintassi da mettere nel prescript del campo immagine : <Id oggetto> <nome del campo oggetti esterni> <chiave> <file> GOLEM #THIS ! Logo della ditta sintassi da mettere nel prescript del campo immagine : LOGO #THIS ! L'Id dell'immagine deve essere LOGO
This commit is contained in:
		
							parent
							
								
									43cf382429
								
							
						
					
					
						commit
						3e8927c381
					
				| @ -1,3 +1,4 @@ | ||||
| #include <applicat.h> | ||||
| #include <colors.h> | ||||
| #include <config.h> | ||||
| #include <defmask.h> | ||||
| @ -2702,7 +2703,7 @@ size_t TReport::get_usr_words(TString_array& words) const | ||||
|     "GET_POS", "GET_SIZE", "HIDE", "ISAM_READ",  | ||||
|     "RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",  | ||||
|     "SET_POS", "SET_SIZE", "SET_TEXT_COLOR", "SHOW", "TABLE_READ", "GET_FIRM_DATA",  | ||||
|     "EVALUATE", NULL | ||||
|     "EVALUATE", "GOLEM", "LOGO", NULL | ||||
|   }; | ||||
|   size_t i;  | ||||
|   for (i = 0; name[i] != NULL; i++) | ||||
| @ -3389,6 +3390,70 @@ bool TReport::execute_usr_word(unsigned int opcode, TVariant_stack& stack) | ||||
|       evaluate(var.as_string(), var, _nullfld); | ||||
|     } | ||||
|     break; | ||||
| 	case 21: // GOLEM
 | ||||
| 	{ | ||||
| 		const int logic = stack.pop().as_int(); | ||||
| 		const TString key = stack.pop().as_string(); | ||||
| 		const TString fname = stack.pop().as_string(); | ||||
| 		const TString id = stack.pop().as_string(); | ||||
| 		TToken_string golem(cache().get(logic, key, fname), '\n'); | ||||
| 
 | ||||
| 		if (golem.full()) | ||||
| 		{ | ||||
| 			FOR_EACH_TOKEN(golem, r) | ||||
| 			{ | ||||
| 				TToken_string row(r); | ||||
| 				const TString found_id = row.get(3); | ||||
| 
 | ||||
| 				if (found_id == id) | ||||
| 				{ | ||||
| 					stack.push(row.get(0)); | ||||
| 					return true; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return false; | ||||
| 	} | ||||
| 	break; | ||||
| 	case 22: // LOGO
 | ||||
| 	{ | ||||
| 		TString	img_id("LOGO"); | ||||
| 
 | ||||
| 		img_id << stack.pop().as_string(); | ||||
| 		stack.push(img_id); | ||||
| 		stack.push(NDT_OGGETTI); | ||||
| 		stack.push(main_app().get_firm()); | ||||
| 		stack.push(LF_NDITTE); | ||||
| 		if (!execute_usr_word(21, stack)) | ||||
| 		{ | ||||
| 			TToken_string pl = standard_path_list(); | ||||
| 			TFilename name; | ||||
| 
 | ||||
| 			FOR_EACH_STR_TOKEN(pl, path) | ||||
| 			{ | ||||
| 				TFilename name(path); | ||||
| 				TString filemask(img_id); | ||||
| 				TString_array files; | ||||
| 
 | ||||
| 				filemask << "*"; | ||||
| 				if (list_files(filemask, files) > 0) | ||||
| 				{ | ||||
| 					FOR_EACH_ARRAY_ROW(files, n, f) | ||||
| 					{ | ||||
| 						TImage i(*f); | ||||
| 
 | ||||
| 						if (i.ok()) | ||||
| 						{ | ||||
| 							stack.push(*f); | ||||
| 							return true; | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 			return false; | ||||
| 		} | ||||
| 	} | ||||
| 	break; | ||||
|   default:  | ||||
|     return false; | ||||
|   } | ||||
| @ -3483,7 +3548,16 @@ bool TReport::archive(bool signature) | ||||
|   return book.archive(NULL, signature); | ||||
| } | ||||
| 
 | ||||
| TReport::TReport()  | ||||
| bool TReport::export_text(const char * filename,bool signature, int size) | ||||
| { | ||||
|   TReport_book book; | ||||
|   TFilename name(filename); | ||||
| 
 | ||||
|   book.add(*this); | ||||
|   return book.export_text(name, signature, size); | ||||
| } | ||||
| 
 | ||||
| TReport::TReport() | ||||
|        : _cpi(0), _lpi(6), _include(15, ','), _recordset(nullptr), _curr_field(nullptr), | ||||
|          _use_printer_font(false), _save_last_printer(false), _orientation(0),  | ||||
|          _page_split(false), _page_merge(false), _rep_copy(1), _rep_copies(1), | ||||
|  | ||||
| @ -677,6 +677,7 @@ public: | ||||
|   bool print(); | ||||
|   bool preview(); | ||||
|   bool archive(bool signature); | ||||
|   bool export_text(const char * filename, bool signature, int size = 0); | ||||
| 
 | ||||
|   TReport(); | ||||
|   virtual ~TReport(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user