Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
ba1*       Migliorie all'interfaccia
ba2200.cpp Migliore supporto zip
ba883.cpp  Aggiunto test
batb*      Tolto nome tabella prima della -> dai FIELD


git-svn-id: svn://10.65.10.50/trunk@7052 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1998-09-04 13:15:10 +00:00
parent 1c13f8586c
commit de1482589d
11 changed files with 208 additions and 75 deletions

View File

@ -813,6 +813,7 @@ protected:
static bool creazip_handler(TMask_field& f, KEY k); static bool creazip_handler(TMask_field& f, KEY k);
static bool modules_notify(TSheet_field& f, int row, KEY k); static bool modules_notify(TSheet_field& f, int row, KEY k);
static bool import_export_handler(TMask_field& f, KEY k); static bool import_export_handler(TMask_field& f, KEY k);
static bool patchl_handler(TMask_field& f, KEY k);
virtual const TFilename& build_export_path(TFilename& path) const; virtual const TFilename& build_export_path(TFilename& path) const;
@ -1015,6 +1016,7 @@ bool TFascicolator_mask::list_handler(TMask_field& f, KEY k)
TMod_composition_msk mm(TRUE); TMod_composition_msk mm(TRUE);
mm.load(module); mm.load(module);
if (mm.run() == K_ENTER) if (mm.run() == K_ENTER)
{
mm.save(); mm.save();
m.need_check(); m.need_check();
} }

View File

@ -94,7 +94,7 @@ class TColumnizer_field;
class TColumnizer_win : public TField_window class TColumnizer_win : public TField_window
{ {
enum { RULER_HEIGHT = 2, NUM_WIDTH = 4 }; enum { RULER_HEIGHT = 2, NUM_WIDTH = 5 };
TString_array _rows; // Righe di testo da stampare TString_array _rows; // Righe di testo da stampare
TPointer_array _column; // Array delle posizioni di inizio campo TPointer_array _column; // Array delle posizioni di inizio campo

View File

@ -54,7 +54,7 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_SKIPLINES 4 NUMBER F_SKIPLINES 5
BEGIN BEGIN
PROMPT 1 4 "Righe iniziali da ignorare " PROMPT 1 4 "Righe iniziali da ignorare "
FLAGS "U" FLAGS "U"
@ -65,7 +65,7 @@ BEGIN
PROMPT 45 4 "Separatore dei campi " PROMPT 45 4 "Separatore dei campi "
END END
NUMBER F_DISPLINES 4 NUMBER F_DISPLINES 5
BEGIN BEGIN
PROMPT 1 5 "Righe da visualizzare " PROMPT 1 5 "Righe da visualizzare "
FLAGS "U" FLAGS "U"

View File

@ -79,7 +79,11 @@ KEY TArchive_app::query(long& firm, char& floppy, TString& desc, bool& temp, boo
floppy = m.get(F_FLOPPY)[0]; floppy = m.get(F_FLOPPY)[0];
desc = m.get(F_DESCR); desc = m.get(F_DESCR);
temp = m.get_bool(F_TEMP); temp = m.get_bool(F_TEMP);
#if XVT_OS == XVT_OS_WIN
zip = m.get_bool(F_ZIP); zip = m.get_bool(F_ZIP);
#else
zip = TRUE;
#endif
} }
return k; return k;
@ -100,15 +104,19 @@ void TArchive_app::main_loop()
{ {
if (zip) if (zip)
_arc.zip(firm, floppy, desc); _arc.zip(firm, floppy, desc);
#if XVT_OS == XVT_OS_WIN
else else
_arc.backup(firm, floppy, desc); _arc.backup(firm, floppy, desc);
#endif
} }
else else
{ {
if (zip) if (zip)
_arc.unzip(firm, floppy, temp); _arc.unzip(firm, floppy, temp);
#if XVT_OS == XVT_OS_WIN
else else
_arc.restore(firm, floppy, temp); _arc.restore(firm, floppy, temp);
#endif
} }
} }
} }

View File

@ -1,7 +1,10 @@
#include <math.h>
#include <time.h> #include <time.h>
#include <browfile.h> #include <browfile.h>
#include <os_dep.h>
#include <relapp.h> #include <relapp.h>
#include <tabutil.h>
#include <tree.h> #include <tree.h>
#include <urldefid.h> #include <urldefid.h>
@ -519,6 +522,7 @@ void TTest_application::main_loop()
class TBenchmark_application : public TSkeleton_application class TBenchmark_application : public TSkeleton_application
{ {
clock_t _timer_start; clock_t _timer_start;
double _sec;
TString _text; TString _text;
protected: protected:
@ -533,6 +537,7 @@ protected:
void test_cursor_scan(); void test_cursor_scan();
void test_file_scan(); void test_file_scan();
void test_file_random(); void test_file_random();
void test_file_write();
public: public:
TBenchmark_application() { } TBenchmark_application() { }
@ -555,6 +560,9 @@ void TBenchmark_application::main_loop()
if (test_all || test.find('T') >= 0) if (test_all || test.find('T') >= 0)
test_file_random(); test_file_random();
if (test_all || test.find('W') >= 0)
test_file_write();
} }
void TBenchmark_application::initializing() void TBenchmark_application::initializing()
@ -569,6 +577,8 @@ void TBenchmark_application::start_test(const char* text)
xvt_statbar_set(_text); xvt_statbar_set(_text);
do_events(); do_events();
_sec = 0;
clock_t t; clock_t t;
_timer_start = clock(); _timer_start = clock();
do do
@ -588,18 +598,17 @@ void TBenchmark_application::stop_test()
} }
void TBenchmark_application::update_bar(long rec) void TBenchmark_application::update_bar(long rec)
{ {
rec++; const double sec = double(clock() - _timer_start) / CLOCKS_PER_SEC;
if ((rec % 500) == 0) if (sec > _sec)
{ {
const double sec = double(clock() - _timer_start) / CLOCKS_PER_SEC; TString80 msg;
if (sec > 0.0) unsigned long mem = os_get_free_memory() / 1024;
{ rec++;
TString80 msg; msg.format("%ld record (%ld rec/sec) %lu Kb", rec, long(rec / sec), mem);
msg.format("%ld record (%ld rec/sec)", rec, long(rec / sec)); xvt_statbar_set(msg);
xvt_statbar_set(msg); do_events();
do_events(); _sec = ceil(sec);
}
} }
} }
@ -693,6 +702,35 @@ void TBenchmark_application::test_file_random()
stop_test(); stop_test();
} }
void TBenchmark_application::test_file_write()
{
initializing();
start_test("Scrittura/Modifica/Cancellazione");
TTable tab("DIK");
int err;
for (long n = 0; n < 200; n++)
{
tab.zero();
tab.put("CODTAB", "MIN");
tab.put("S0", "BEG");
err = tab.write();
tab.put("S0", "CAZ");
err = tab.rewrite();
tab.zero();
tab.put("CODTAB", "MIN");
err = tab.remove();
update_bar(n);
}
stop_test();
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
int main(int argc, char** argv) int main(int argc, char** argv)

View File

@ -10,7 +10,7 @@ PAGE "Tabella banche" -1 -1 78 18
NUMBER F_CODICEABI 5 NUMBER F_CODICEABI 5
BEGIN BEGIN
PROMPT 6 1 "Codice ABI " PROMPT 6 1 "Codice ABI "
FIELD %BAN->CODTAB[1,5] FIELD CODTAB[1,5]
FLAGS "Z" FLAGS "Z"
KEY 1 KEY 1
USE %BAN KEY 1 SELECT CODTAB ?= "?????" USE %BAN KEY 1 SELECT CODTAB ?= "?????"
@ -26,7 +26,7 @@ END
NUMBER F_CODICECAB 5 NUMBER F_CODICECAB 5
BEGIN BEGIN
PROMPT 28 1 "Codice CAB " PROMPT 28 1 "Codice CAB "
FIELD %BAN->CODTAB[6,10] FIELD CODTAB[6,10]
FLAGS "Z" FLAGS "Z"
KEY 1 KEY 1
USE %BAN USE %BAN
@ -49,7 +49,7 @@ END
NUMBER F_CODICEDIP 4 NUMBER F_CODICEDIP 4
BEGIN BEGIN
PROMPT 50 1 "Codice Dipendenza " PROMPT 50 1 "Codice Dipendenza "
FIELD %BAN->I0 FIELD I0
FLAGS "Z" FLAGS "Z"
END END
@ -72,7 +72,7 @@ END
STRING F_DENOM 50 STRING F_DENOM 50
BEGIN BEGIN
PROMPT 6 5 "Denominazione " PROMPT 6 5 "Denominazione "
FIELD %BAN->S0 FIELD S0
USE %BAN KEY 2 USE %BAN KEY 2
KEY 2 KEY 2
INPUT S0 F_DENOM INPUT S0 F_DENOM
@ -89,7 +89,7 @@ END
STRING H_DENOMABI 50 STRING H_DENOMABI 50
BEGIN BEGIN
PROMPT 6 3 "Istituto " PROMPT 6 3 "Istituto "
FIELD %BAN->S0 FIELD S0
KEY 2 KEY 2
USE %BAN KEY 2 USE %BAN KEY 2
INPUT S0 H_DENOMABI INPUT S0 H_DENOMABI
@ -111,20 +111,20 @@ END
STRING F_INDIRIZZO 35 STRING F_INDIRIZZO 35
BEGIN BEGIN
PROMPT 6 9 "Indirizzo " PROMPT 6 9 "Indirizzo "
FIELD %BAN->S2 FIELD S2
END END
STRING F_CIV 10 STRING F_CIV 10
BEGIN BEGIN
PROMPT 60 9 "N. " PROMPT 60 9 "N. "
FIELD %BAN->S7 FIELD S7
END END
STRING F_COMUNE 4 STRING F_COMUNE 4
BEGIN BEGIN
PROMPT 6 11 "Codice comune " PROMPT 6 11 "Codice comune "
FLAGS "U" FLAGS "U"
FIELD %BAN->S5 FIELD S5
USE LF_COMUNI USE LF_COMUNI
INPUT STATO "" INPUT STATO ""
INPUT COM F_COMUNE INPUT COM F_COMUNE
@ -157,13 +157,13 @@ END
STRING F_CAP 5 STRING F_CAP 5
BEGIN BEGIN
PROMPT 60 13 "C.A.P. " PROMPT 60 13 "C.A.P. "
FIELD %BAN->S3 FIELD S3
END END
STRING F_LOCALITA 50 STRING F_LOCALITA 50
BEGIN BEGIN
PROMPT 6 14 "Localita' " PROMPT 6 14 "Localita' "
FIELD %BAN->S1 FIELD S1
END END
ENDPAGE ENDPAGE

View File

@ -1,6 +1,9 @@
#define FLD_TABCAM_CODVAL 100 #define FLD_TABCAM_CODVAL 100
#define FLD_TABCAM_S0 101 #define FLD_TABCAM_S0 101
#define FLD_TABCAM_R0 102 #define FLD_TABCAM_R0 102
#define FLD_TABCAM_S7 103 #define FLD_TABCAM_S7 103
#define FLD_TABCAM_D0 104 #define FLD_TABCAM_D0 104
#define FLD_DECSCAM_I0 105 #define FLD_DECSCAM_I0 105
#define FLD_TABCAM_I0 106
#define FLD_CODVAL_COPY 200
#define FLD_DATACAM_COPY 204

View File

@ -8,9 +8,14 @@ ENDPAGE
PAGE "Cambi giornalieri" -1 -1 78 12 PAGE "Cambi giornalieri" -1 -1 78 12
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 ""
END
STRING FLD_TABCAM_CODVAL 3 STRING FLD_TABCAM_CODVAL 3
BEGIN BEGIN
PROMPT 3 1 "Cod. valuta " PROMPT 3 2 "Codice valuta "
FLAGS "UZ" FLAGS "UZ"
KEY 1 KEY 1
FIELD CODTAB[1,3] FIELD CODTAB[1,3]
@ -21,19 +26,20 @@ BEGIN
OUTPUT FLD_TABCAM_CODVAL CODTAB[1,3] OUTPUT FLD_TABCAM_CODVAL CODTAB[1,3]
OUTPUT FLD_TABCAM_S0 S0 OUTPUT FLD_TABCAM_S0 S0
CHECKTYPE FORCED CHECKTYPE FORCED
MESSAGE COPY,FLD_CODVAL_COPY
WARNING "Valuta assente" WARNING "Valuta assente"
END END
DATE 200 DATE FLD_DATACAM_COPY
BEGIN BEGIN
PROMPT 30 1 "" PROMPT 30 2 ""
FLAGS "D" FLAGS "D"
FIELD D0 FIELD D0
END END
DATE FLD_TABCAM_D0 DATE FLD_TABCAM_D0
BEGIN BEGIN
PROMPT 25 1 "Data " PROMPT 25 2 "Data "
FIELD CODTAB[4,11] FIELD CODTAB[4,11]
FLAGS "R" FLAGS "R"
KEY 1 KEY 1
@ -47,24 +53,43 @@ BEGIN
DISPLAY "Descrizione@50" -50->S0 DISPLAY "Descrizione@50" -50->S0
OUTPUT FLD_TABCAM_CODVAL CODTAB[1,3] OUTPUT FLD_TABCAM_CODVAL CODTAB[1,3]
OUTPUT FLD_TABCAM_D0 D0 OUTPUT FLD_TABCAM_D0 D0
OUTPUT 200 D0 OUTPUT FLD_DATACAM_COPY D0
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
MESSAGE COPY,200 MESSAGE COPY,FLD_DATACAM_COPY
WARNING "Data assente" WARNING "Data assente"
END END
STRING FLD_TABCAM_S0 50 STRING FLD_TABCAM_S0 50
BEGIN BEGIN
PROMPT 3 3 "Descrizione " PROMPT 3 3 "Descrizione "
FLAGS "D" FLAGS "D"
END END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 5 ""
END
NUMBER FLD_TABCAM_R0 15 5 NUMBER FLD_TABCAM_R0 15 5
BEGIN BEGIN
PROMPT 3 5 "Cambio " PROMPT 3 6 "Cambio "
FIELD R10 FIELD R10
PICTURE ".5" PICTURE ".5"
FLAGS "U"
END
NUMBER FLD_TABCAM_I0 7
BEGIN
PROMPT 32 6 "ogni "
FIELD I10
FLAGS "U"
NUM_CALC IF(#THIS_FIELD==0,1,#THIS_FIELD)
END
STRING FLD_CODVAL_COPY 3
BEGIN
PROMPT 46 6 ""
FLAGS "D"
END END

View File

@ -17,7 +17,7 @@ END
NUMBER FLD_TABSTA_CODTAB 3 NUMBER FLD_TABSTA_CODTAB 3
BEGIN BEGIN
PROMPT 2 2 "Codice " PROMPT 2 2 "Codice "
FIELD %STA->CODTAB FIELD CODTAB
FLAGS "RZ" FLAGS "RZ"
KEY 1 KEY 1
USE %STA USE %STA
@ -33,7 +33,7 @@ END
STRING FLD_TABSTA_S0 50 STRING FLD_TABSTA_S0 50
BEGIN BEGIN
PROMPT 2 4 "Denominazione " PROMPT 2 4 "Denominazione "
FIELD %STA->S0 FIELD S0
KEY 2 KEY 2
USE %STA KEY 2 USE %STA KEY 2
INPUT S0 FLD_TABSTA_S0 INPUT S0 FLD_TABSTA_S0
@ -48,10 +48,10 @@ END
STRING FLD_TABSTA_S7 3 STRING FLD_TABSTA_S7 3
BEGIN BEGIN
PROMPT 2 8 "Valuta " PROMPT 2 8 "Valuta "
FIELD %STA->S7 FIELD S7
FLAGS "U" FLAGS "U"
USE %VAL USE %VAL
CHECKTYPE NORMAL CHECKTYPE NORMAL
INPUT CODTAB FLD_TABSTA_S7 INPUT CODTAB FLD_TABSTA_S7
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Valuta@50" S0 DISPLAY "Valuta@50" S0
@ -69,7 +69,7 @@ END
STRING FLD_TABSTA_S2 10 STRING FLD_TABSTA_S2 10
BEGIN BEGIN
PROMPT 2 11 "Nazionalita' " PROMPT 2 11 "Nazionalita' "
FIELD %STA->S2 FIELD S2
HELP "Nazionalita' corrispondente a questo stato" HELP "Nazionalita' corrispondente a questo stato"
END END

View File

@ -1,6 +1,13 @@
#define FLD_TABVAL_CODTAB 100 #define F_CODE 101
#define FLD_TABVAL_S0 101 #define F_DESC 102
#define FLD_TABVAL_R0 102 #define F_DECIMALS 103
#define FLD_TABVAL_S7 103 #define F_LASTDATE 104
#define FLD_TABVAL_D0 104
#define FLD_DECSVAL_I0 105 #define F_CUR_CHANGE 105
#define F_CUR_MULT 106
#define F_CUR_CODE 107
#define F_STD_CHANGE 108
#define F_STD_MULT 109
#define F_STD_CODE 110

View File

@ -8,64 +8,114 @@ ENDPAGE
PAGE "Valute" -1 -1 78 12 PAGE "Valute" -1 -1 78 12
GROUPBOX DLG_NULL 75 7 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 1 ""
FLAGS "R" FLAGS "R"
END END
STRING FLD_TABVAL_CODTAB 3 STRING F_CODE 3
BEGIN BEGIN
PROMPT 2 2 "Codice " PROMPT 2 2 "Codice "
FIELD LF_TABCOM->CODTAB FIELD CODTAB
FLAGS "UZ" FLAGS "UZ"
KEY 1 KEY 1
USE %VAL USE %VAL
INPUT CODTAB FLD_TABVAL_CODTAB INPUT CODTAB F_CODE
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Valuta@50" S0 DISPLAY "Valuta@50" S0
OUTPUT FLD_TABVAL_CODTAB CODTAB OUTPUT F_CODE CODTAB
OUTPUT FLD_TABVAL_S0 S0 OUTPUT F_DESC S0
MESSAGE COPY,F_CUR_CODE|COPY,F_STD_CODE
HELP "Codice della valuta" HELP "Codice della valuta"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
STRING FLD_TABVAL_S0 50 STRING F_DESC 50
BEGIN BEGIN
PROMPT 2 4 "Descrizione " PROMPT 2 3 "Descrizione "
FIELD LF_TABCOM->S0 FIELD S0
KEY 2 KEY 2
USE %VAL KEY 2 USE %VAL KEY 2
INPUT S0 FLD_TABVAL_S0 INPUT S0 F_DESC
DISPLAY "Valuta@60" S0 DISPLAY "Valuta@60" S0
DISPLAY "Codice@10" CODTAB DISPLAY "Codice@10" CODTAB
COPY OUTPUT FLD_TABVAL_CODTAB COPY OUTPUT F_CODE
HELP "Descrizione della valuta" HELP "Descrizione della valuta"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Manca la descrizione" WARNING "Manca la descrizione"
END END
NUMBER FLD_TABVAL_R0 15 5 NUMBER F_DECIMALS 1
BEGIN BEGIN
PROMPT 2 7 "Cambio " PROMPT 2 4 "Decimali "
FIELD LF_TABCOM->R10 FIELD I0
PICTURE ".5" NUM_EXPR (#THIS_FIELD>=0)&&(#THIS_FIELD<=5)
FLAGS "R" WARNING "Si possono specificare al massimo 5 cifre decimali"
END END
DATE FLD_TABVAL_D0 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 2 9 "Data " PROMPT 1 7 "Cambio attuale"
FIELD LF_TABCOM->D0 FLAGS "R"
END
NUMBER F_CUR_CHANGE 15 5
BEGIN
PROMPT 2 8 "Cambio "
FIELD R10
PICTURE ".5"
FLAGS "U"
END
NUMBER F_CUR_MULT 7
BEGIN
PROMPT 32 8 "ogni "
FIELD I10
FLAGS "U"
NUM_CALC IF((#THIS_FIELD==0),1,#THIS_FIELD)
END
STRING F_CUR_CODE 3
BEGIN
PROMPT 47 8 ""
FLAGS "D"
END
DATE F_LASTDATE
BEGIN
PROMPT 58 8 "Data "
FIELD D0
HELP "Data di ultimo aggiornamento" HELP "Data di ultimo aggiornamento"
END END
// NUMBER FLD_DECSVAL_I0 1 GROUPBOX DLG_NULL 78 3
// BEGIN BEGIN
// PROMPT 2 11 "Decimali " PROMPT 1 11 "Cambio standard"
// FIELD LF_TABCOM->I0 FLAGS "R"
// HELP "Numero di decimali da utilizzare per l'arrotondamento" END
// END
NUMBER F_STD_CHANGE 15 5
BEGIN
PROMPT 2 12 "Cambio "
FIELD R11
PICTURE ".5"
FLAGS "U"
END
NUMBER F_STD_MULT 7
BEGIN
PROMPT 32 12 "ogni "
FIELD I11
FLAGS "U"
NUM_CALC IF((#THIS_FIELD==0),1,#THIS_FIELD)
END
STRING F_STD_CODE 3
BEGIN
PROMPT 47 12 ""
FLAGS "D"
END
ENDPAGE ENDPAGE