From 9913c4b98a959df6fdbf87a402a210625e132c5c Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Mon, 4 Oct 2021 22:24:50 +0200 Subject: [PATCH] Patch level : 12.0 1086 Files correlati : bs0.exe bs0500a.msk ba3.exe cg0.exe ve0.exe ve2.exe Commento : Importazione Bee Store --- src/include/files.h | 2 +- src/include/mask.cpp | 8 ++++---- src/include/prefix.cpp | 9 +++++++++ src/include/prefix.h | 5 ++++- 4 files changed, 18 insertions(+), 6 deletions(-) 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); }