diff --git a/src/include/files.h b/src/include/files.h index 9a2743bfc..b1937098c 100755 --- a/src/include/files.h +++ b/src/include/files.h @@ -225,7 +225,7 @@ public: // @cmember Ritorna una token string contenente la descrizione del campo const char* fielddef(int fld) const; // @cmember Ritorna una stringa contenente la chiave - const char* keydef(int key) const; + const char* keydef(int key = 0) const; // @cmember Ritorna la lunghezza del record int len() const; diff --git a/src/include/mask.cpp b/src/include/mask.cpp index b0781d46f..aa56652d1 100755 --- a/src/include/mask.cpp +++ b/src/include/mask.cpp @@ -797,7 +797,7 @@ bool TMask::stop_run( } } } - if (i >= last) + if (i >= last) return false; } @@ -2802,12 +2802,12 @@ void TMask::post_error_message(const char* msg, int sev) } } +// @comm Check_mask fatta per la relapp chiamate in modo batch verifica la consistenza della maschera senza visualizzare l'interfaccia. +// @comm Se la finestra non era aperta la apre in modo modale KEY TMask::check_mask() - - // @comm Se la finestra non era aperta la apre in modo modale { start_run(); - return stop_run(K_ENTER) ? K_ENTER : K_ESC; + return stop_run(K_AUTO_ENTER) ? K_ENTER : K_QUIT; } // @cmember ritorna la posizione del primo campo di una cella di uno sheet diff --git a/src/include/prefix.cpp b/src/include/prefix.cpp index a02b96837..e794c23d1 100755 --- a/src/include/prefix.cpp +++ b/src/include/prefix.cpp @@ -789,6 +789,13 @@ TDirtype TFile_manager::get_dirtype(int logicnum) return i.dir_type(); } +const char * TFile_manager::get_keydef(int logicnum, int key) const +{ + TTrec r(logicnum); + + return r.keydef(key - 1); +} + void TFile_manager::notify_change(TIsam_handle name) { TFile_info& i = fileinfo(name); @@ -1036,12 +1043,14 @@ void TPrefix::set( { const TString saved_prf = __ptprf; // Salvo __ptprf che viene cambiato da CGetPref char* prfx = (char*)CGetPref(); // Safe non const cast for StPath cprefix + strcpy_s(__ptprf, saved_prf); xvt_fsys_build_pathname(prfx, NULL, __ptprf, _prefix, NULL, NULL); } else { char* prfx = (char*)CGetPref(); // Safe non const cast for StPath cprefix + *prfx = '\0'; } } diff --git a/src/include/prefix.h b/src/include/prefix.h index 8f3e15be6..eb0bb7e45 100755 --- a/src/include/prefix.h +++ b/src/include/prefix.h @@ -50,7 +50,7 @@ public: TCodeb_handle get_handle(TIsam_handle name, int key); int get_reclen(int logicnum); - + const char * get_keydef(int logicnum, int key = 1) const ; void notify_change(TIsam_handle name); long last_change(TIsam_handle name) const; @@ -208,6 +208,9 @@ public: const TFilename& get_filename(TIsam_handle name) const { return _manager.get_filename(name); } + const char * get_keyexpr(int logicnum, int key = 1) const + { return TToken_string(_manager.get_keydef(logicnum, key)).get(); } + void notify_change(TIsam_handle name) { _manager.notify_change(name); }