Aggiunto modifica batch formato date e numeri
git-svn-id: svn://10.65.10.50/trunk@2205 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d573e74571
commit
b94c516540
@ -29,7 +29,9 @@ MENU BAR_ITEM(1)
|
|||||||
ITEM MENU_ITEM(11) "~Relazione"
|
ITEM MENU_ITEM(11) "~Relazione"
|
||||||
ITEM MENU_ITEM(12) "~Parametri"
|
ITEM MENU_ITEM(12) "~Parametri"
|
||||||
ITEM MENU_ITEM(13) "Caratteri ~fincatura"
|
ITEM MENU_ITEM(13) "Caratteri ~fincatura"
|
||||||
ITEM MENU_ITEM(14) "~Cambia profilo"
|
ITEM MENU_ITEM(14) "~Cambia profilo"
|
||||||
|
ITEM MENU_ITEM(15) "Imposta formato ~numeri"
|
||||||
|
ITEM MENU_ITEM(16) "Imposta formato ~date"
|
||||||
|
|
||||||
MENU BAR_ITEM(2)
|
MENU BAR_ITEM(2)
|
||||||
ITEM MENU_ITEM(21) "~Normale"
|
ITEM MENU_ITEM(21) "~Normale"
|
||||||
|
@ -228,6 +228,10 @@ bool TForm_editor::menu(MENU_TAG tag)
|
|||||||
case MENU_ITEM(14):
|
case MENU_ITEM(14):
|
||||||
quit = ask_profile();
|
quit = ask_profile();
|
||||||
sec = 'B'; pt = odd_page; break;
|
sec = 'B'; pt = odd_page; break;
|
||||||
|
case MENU_ITEM(15): // formato numeri
|
||||||
|
sec = 'J'; break;
|
||||||
|
case MENU_ITEM(16): // formato date
|
||||||
|
sec = 'Y'; break;
|
||||||
case MENU_ITEM(21):
|
case MENU_ITEM(21):
|
||||||
sec = 'H'; pt = odd_page; break;
|
sec = 'H'; pt = odd_page; break;
|
||||||
case MENU_ITEM(22):
|
case MENU_ITEM(22):
|
||||||
@ -320,6 +324,83 @@ bool TForm_editor::edit_fincatura()
|
|||||||
return dirty;
|
return dirty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TForm_editor::date_example(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_TAB && f.focusdirty())
|
||||||
|
{
|
||||||
|
TMask& m = f.mask();
|
||||||
|
char format[6];
|
||||||
|
format[0] = m.get(F_DFORMAT)[0];
|
||||||
|
format[1] = m.get(F_DDAY )[0];
|
||||||
|
format[2] = m.get(F_DMONTH )[0];
|
||||||
|
format[3] = m.get(F_DYEAR )[0];
|
||||||
|
format[4] = m.get(F_DSEP )[0];
|
||||||
|
format[5] = '\0';
|
||||||
|
|
||||||
|
TDate dd(TODAY);
|
||||||
|
TFormatted_date d(dd);
|
||||||
|
|
||||||
|
d.set_format(format);
|
||||||
|
m.set(F_DEXAMPLE, d.string());
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TForm_editor::edit_formato_numero()
|
||||||
|
{
|
||||||
|
bool dirty = FALSE;
|
||||||
|
|
||||||
|
TMask m("ba21nm");
|
||||||
|
if (dirty = (m.run() == K_ENTER))
|
||||||
|
{
|
||||||
|
int w = m.get_int(F_WIDTH);
|
||||||
|
int d = m.get_int(F_DECIMALS);
|
||||||
|
TString p(m.get(F_PICTURE));
|
||||||
|
|
||||||
|
_form->change_number_format(w, d, p);
|
||||||
|
}
|
||||||
|
return dirty;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TForm_editor::edit_formato_data()
|
||||||
|
{
|
||||||
|
bool dirty = FALSE;
|
||||||
|
char format[6] = { "1444-" };
|
||||||
|
TMask m("ba21dt");
|
||||||
|
|
||||||
|
m.set_handler(F_DFORMAT, date_example);
|
||||||
|
m.set_handler(F_DDAY, date_example);
|
||||||
|
m.set_handler(F_DMONTH, date_example);
|
||||||
|
m.set_handler(F_DYEAR, date_example);
|
||||||
|
m.set_handler(F_DSEP, date_example);
|
||||||
|
|
||||||
|
TDate dd(TODAY);
|
||||||
|
TFormatted_date d(dd);
|
||||||
|
d.set_format(format);
|
||||||
|
|
||||||
|
m.set(F_DFORMAT, "1");
|
||||||
|
m.set(F_DDAY, "4");
|
||||||
|
m.set(F_DMONTH, "4");
|
||||||
|
m.set(F_DYEAR, "4");
|
||||||
|
m.set(F_DSEP, "-");
|
||||||
|
m.set(F_DEXAMPLE, d.string());
|
||||||
|
|
||||||
|
if (dirty = (m.run() == K_ENTER))
|
||||||
|
{
|
||||||
|
format[0] = m.get(F_DFORMAT)[0];
|
||||||
|
format[1] = m.get(F_DDAY )[0];
|
||||||
|
format[2] = m.get(F_DMONTH )[0];
|
||||||
|
format[3] = m.get(F_DYEAR )[0];
|
||||||
|
format[4] = m.get(F_DSEP )[0];
|
||||||
|
format[5] = '\0';
|
||||||
|
|
||||||
|
_form->change_date_format(format);
|
||||||
|
}
|
||||||
|
return dirty;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
bool TForm_editor::edit_relation()
|
bool TForm_editor::edit_relation()
|
||||||
{
|
{
|
||||||
TMask m("ba2100r");
|
TMask m("ba2100r");
|
||||||
@ -398,6 +479,12 @@ bool TForm_editor::edit(char s, pagetype t)
|
|||||||
else
|
else
|
||||||
if (s == 'K')
|
if (s == 'K')
|
||||||
dirty = edit_fincatura();
|
dirty = edit_fincatura();
|
||||||
|
else
|
||||||
|
if (s == 'J')
|
||||||
|
dirty = edit_formato_numero();
|
||||||
|
else
|
||||||
|
if (s == 'Y')
|
||||||
|
dirty = edit_formato_data();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString80 caption;
|
TString80 caption;
|
||||||
|
@ -21,12 +21,15 @@ protected:
|
|||||||
|
|
||||||
static bool file_handler(TMask_field& f, KEY k);
|
static bool file_handler(TMask_field& f, KEY k);
|
||||||
static bool cod_handler(TMask_field&f, KEY k);
|
static bool cod_handler(TMask_field&f, KEY k);
|
||||||
|
static bool date_example(TMask_field&f, KEY k);
|
||||||
|
|
||||||
bool& extra() { return _extra;}
|
bool& extra() { return _extra;}
|
||||||
void set_form(TForm * f) { _form = f; }
|
void set_form(TForm * f) { _form = f; }
|
||||||
bool ask_profile();
|
bool ask_profile();
|
||||||
bool edit_relation();
|
bool edit_relation();
|
||||||
bool edit_fincatura();
|
bool edit_fincatura();
|
||||||
|
bool edit_formato_numero();
|
||||||
|
bool edit_formato_data();
|
||||||
bool edit(char s, pagetype p);
|
bool edit(char s, pagetype p);
|
||||||
bool form_config() const;
|
bool form_config() const;
|
||||||
public:
|
public:
|
||||||
|
@ -866,6 +866,8 @@ protected:
|
|||||||
void put_paragraph(const char* s);
|
void put_paragraph(const char* s);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
void set_picture(const char* p) { _picture = p; }
|
||||||
virtual bool edit(TMask& m);
|
virtual bool edit(TMask& m);
|
||||||
TForm_string(TPrint_section* section) : TForm_item(section) {}
|
TForm_string(TPrint_section* section) : TForm_item(section) {}
|
||||||
virtual ~TForm_string() {}
|
virtual ~TForm_string() {}
|
||||||
@ -1097,6 +1099,8 @@ protected:
|
|||||||
int decimals() const { return _height; }
|
int decimals() const { return _height; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
void set_decimals(int d) { _height = d; }
|
||||||
TForm_number(TPrint_section* section) : TForm_string(section) {}
|
TForm_number(TPrint_section* section) : TForm_string(section) {}
|
||||||
virtual ~TForm_number() {}
|
virtual ~TForm_number() {}
|
||||||
};
|
};
|
||||||
@ -1208,7 +1212,8 @@ protected:
|
|||||||
virtual void print_on(TRectype& rform);
|
virtual void print_on(TRectype& rform);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
void set_format(const char* f) { _format = f; }
|
||||||
virtual bool edit(TMask& m);
|
virtual bool edit(TMask& m);
|
||||||
TForm_date(TPrint_section* section);
|
TForm_date(TPrint_section* section);
|
||||||
virtual ~TForm_date() {}
|
virtual ~TForm_date() {}
|
||||||
@ -2232,7 +2237,73 @@ TPrint_section& TForm::section(char s, word p)
|
|||||||
TPrint_section* sec = exist(s, pos, TRUE);
|
TPrint_section* sec = exist(s, pos, TRUE);
|
||||||
return *sec;
|
return *sec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===========================================
|
||||||
|
// TForm
|
||||||
|
// ===========================================
|
||||||
|
|
||||||
|
bool TForm::ps_change_date_format(TPrint_section& s, const char* f)
|
||||||
|
{
|
||||||
|
for (word i = 0; i < s.fields(); i++)
|
||||||
|
{
|
||||||
|
TForm_item& fi = s.field(i);
|
||||||
|
if (strcmp(fi.class_name(), "SEZIONE") == 0)
|
||||||
|
{
|
||||||
|
TPrint_section& ps = ((TForm_subsection&)fi).subsection();
|
||||||
|
ps_change_date_format(ps, f);
|
||||||
|
}
|
||||||
|
else if (strcmp(fi.class_name(), "DATA") == 0)
|
||||||
|
((TForm_date&)fi).set_format(f);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TForm::ps_change_number_format(TPrint_section& s, int w, int dec, const char* p)
|
||||||
|
{
|
||||||
|
for (word i = 0; i < s.fields(); i++)
|
||||||
|
{
|
||||||
|
TForm_item& fi = s.field(i);
|
||||||
|
if (strcmp(fi.class_name(), "SEZIONE") == 0)
|
||||||
|
{
|
||||||
|
TPrint_section& ps = ((TForm_subsection&)fi).subsection();
|
||||||
|
ps_change_number_format(ps, w, dec, p);
|
||||||
|
}
|
||||||
|
else if (strcmp(fi.class_name(), "NUMERO") == 0)
|
||||||
|
{
|
||||||
|
TForm_number& fn = (TForm_number&)fi;
|
||||||
|
fn.set_width(w);
|
||||||
|
fn.set_decimals(dec);
|
||||||
|
fn.set_picture(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TForm::change_date_format(const char* f)
|
||||||
|
{
|
||||||
|
char secs[] = { "FHGB" };
|
||||||
|
char ptyp[] = { "LOEF" };
|
||||||
|
TPrint_section* ps;
|
||||||
|
|
||||||
|
for (int sc = 0; sc < 4; sc++)
|
||||||
|
for (int pt = 0; pt < 4; pt++)
|
||||||
|
if ((ps = exist(secs[sc], char2page(ptyp[pt]), FALSE)) != NULL)
|
||||||
|
ps_change_date_format(*ps, f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TForm::change_number_format(int w, int dec, const char* p)
|
||||||
|
{
|
||||||
|
char secs[] = { "FHGB" };
|
||||||
|
char ptyp[] = { "LOEF" };
|
||||||
|
TPrint_section* ps;
|
||||||
|
|
||||||
|
for (int sc = 0; sc < 4; sc++)
|
||||||
|
for (int pt = 0; pt < 4; pt++)
|
||||||
|
if ((ps = exist(secs[sc], char2page(ptyp[pt]), FALSE)) != NULL)
|
||||||
|
ps_change_number_format(*ps, w, dec, p);
|
||||||
|
}
|
||||||
|
|
||||||
word TForm::set_background(word p, bool u)
|
word TForm::set_background(word p, bool u)
|
||||||
{
|
{
|
||||||
word len = 0;
|
word len = 0;
|
||||||
|
@ -127,7 +127,12 @@ class TForm : public TObject
|
|||||||
|
|
||||||
TToken_string& get_fincatura() { return _fink; }
|
TToken_string& get_fincatura() { return _fink; }
|
||||||
void set_fincatura(const char* s) { _fink = s; }
|
void set_fincatura(const char* s) { _fink = s; }
|
||||||
|
|
||||||
|
// come sotto ma per printsection, all'uopo di chiamarle
|
||||||
|
// con ricorsiva insistenza
|
||||||
|
bool ps_change_date_format(TPrint_section& s, const char* f);
|
||||||
|
bool ps_change_number_format(TPrint_section& s, int w, int dec, const char* p);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// H = Header, B = Body, F = Footer, R = Relation
|
// H = Header, B = Body, F = Footer, R = Relation
|
||||||
TPrint_section& section(char s = 'B', word page = 1);
|
TPrint_section& section(char s = 'B', word page = 1);
|
||||||
@ -191,7 +196,12 @@ public:
|
|||||||
bool dirty() const { return _dirty; }
|
bool dirty() const { return _dirty; }
|
||||||
void set_dirty(bool d = TRUE) { _dirty = d; }
|
void set_dirty(bool d = TRUE) { _dirty = d; }
|
||||||
void set_arrange(bool arng = TRUE) { _arrange = arng ; }
|
void set_arrange(bool arng = TRUE) { _arrange = arng ; }
|
||||||
|
|
||||||
|
// cambia il formato di tutte le date nel form
|
||||||
|
void change_date_format(const char* f);
|
||||||
|
// cambia il formato di tutti i numeri nel form
|
||||||
|
void change_number_format(int w, int dec, const char* p);
|
||||||
|
|
||||||
// fincazione
|
// fincazione
|
||||||
char f_topleft() { return _fink.get_char(0); }
|
char f_topleft() { return _fink.get_char(0); }
|
||||||
char f_topmiddle() { return _fink.get_char(1); }
|
char f_topmiddle() { return _fink.get_char(1); }
|
||||||
@ -263,6 +273,7 @@ protected:
|
|||||||
public:
|
public:
|
||||||
short id() const { return _id; }
|
short id() const { return _id; }
|
||||||
virtual int width() const { return _width; }
|
virtual int width() const { return _width; }
|
||||||
|
virtual void set_width(int w) { _width = w; }
|
||||||
virtual int height() const { return _height; }
|
virtual int height() const { return _height; }
|
||||||
virtual short& x() { return _x; }
|
virtual short& x() { return _x; }
|
||||||
virtual short& y() { return _y; }
|
virtual short& y() { return _y; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user