Corretti casini con date rovesciate (flag R)
git-svn-id: svn://10.65.10.50/trunk@1712 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
94a28b8632
commit
5015ca30de
@ -2594,13 +2594,22 @@ TDate_field::TDate_field(TMask* m) : TEdit_field(m)
|
|||||||
_size = _width = 10;
|
_size = _width = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TDate_field::set_window_data(const char* data)
|
||||||
|
{
|
||||||
|
if (right_justified())
|
||||||
|
{
|
||||||
|
TDate d(data);
|
||||||
|
_str = d.string();
|
||||||
|
}
|
||||||
|
TEdit_field::set_window_data(_str);
|
||||||
|
}
|
||||||
|
|
||||||
// @mfunc Permette di formattare la data secondo i flag correnti
|
// @mfunc Permette di formattare la data secondo i flag correnti
|
||||||
//
|
//
|
||||||
// @rdesc Ritorna la data formattata
|
// @rdesc Ritorna la data formattata
|
||||||
const char* TDate_field::format_data(
|
const char* TDate_field::format_data(
|
||||||
const char* datum, // @parm Stringa contenenete la data da formattare
|
const char* datum, // @parm Stringa contenenete la data da formattare
|
||||||
bool* ch) // @parm Indica se e' stata cambiato il formato rispetto alla stringa passsata
|
bool* ch) const // @parm Indica se e' stata cambiato il formato rispetto alla stringa passsata
|
||||||
|
|
||||||
// @comm Permette di gestire anche alcuni date particolari come:
|
// @comm Permette di gestire anche alcuni date particolari come:
|
||||||
//
|
//
|
||||||
@ -2613,71 +2622,71 @@ const char* TDate_field::format_data(
|
|||||||
{
|
{
|
||||||
bool changed = FALSE;
|
bool changed = FALSE;
|
||||||
// TFixed_string data(get_window_data(), 15);
|
// TFixed_string data(get_window_data(), 15);
|
||||||
TFixed_string data(datum, 15);
|
fpark = datum;
|
||||||
data.trim();
|
fpark.trim();
|
||||||
if (data.not_empty())
|
if (fpark.not_empty())
|
||||||
{
|
{
|
||||||
if (isdigit(data[0]))
|
if (isdigit(fpark[0]))
|
||||||
{
|
{
|
||||||
if (data.len() == 6) // Fix century (for this millenium only)
|
if (fpark.len() == 6) // Fix century (for this millenium only)
|
||||||
{
|
{
|
||||||
data.insert("19", 4);
|
fpark.insert("19", 4);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
for (int meno = 2; meno <= 5; meno += 3)
|
for (int meno = 2; meno <= 5; meno += 3)
|
||||||
if (data[meno] != '-')
|
if (fpark[meno] != '-')
|
||||||
{
|
{
|
||||||
data.insert("-", meno);
|
fpark.insert("-", meno);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
if (data.len() == 8) // Fix century (for this millenium only)
|
if (fpark.len() == 8) // Fix century (for this millenium only)
|
||||||
{
|
{
|
||||||
data.insert("19", 6);
|
fpark.insert("19", 6);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TDate g(TODAY);
|
TDate g(TODAY);
|
||||||
data.upper();
|
fpark.upper();
|
||||||
if (data == "IERI")
|
if (fpark == "IERI")
|
||||||
{
|
{
|
||||||
--g;
|
--g;
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (data == "DOMANI")
|
if (fpark == "DOMANI")
|
||||||
{
|
{
|
||||||
++g;
|
++g;
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
TString16 gstring(g.string());
|
TString16 gstring(g.string());
|
||||||
if (data == "PRIMO")
|
if (fpark == "PRIMO")
|
||||||
{
|
{
|
||||||
gstring.overwrite("01-01", 0);
|
gstring.overwrite("01-01", 0);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (data == "NATALE")
|
if (fpark == "NATALE")
|
||||||
{
|
{
|
||||||
gstring.overwrite("25-12", 0);
|
gstring.overwrite("25-12", 0);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (data == "ULTIMO")
|
if (fpark == "ULTIMO")
|
||||||
{
|
{
|
||||||
gstring.overwrite("31-12", 0);
|
gstring.overwrite("31-12", 0);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (data == "OGGI")
|
if (fpark == "OGGI")
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
if (changed) data = gstring;
|
if (changed) fpark = gstring;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ch)
|
if (ch)
|
||||||
*ch = changed;
|
*ch = changed;
|
||||||
fpark = data;
|
|
||||||
return fpark;
|
return fpark;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2688,7 +2697,7 @@ bool TDate_field::on_key(KEY key)
|
|||||||
bool changed = FALSE;
|
bool changed = FALSE;
|
||||||
|
|
||||||
TFixed_string data(format_data(get_window_data(),&changed), 15);
|
TFixed_string data(format_data(get_window_data(),&changed), 15);
|
||||||
data.trim();
|
|
||||||
if (data.not_empty())
|
if (data.not_empty())
|
||||||
{
|
{
|
||||||
TDate d(data);
|
TDate d(data);
|
||||||
@ -2706,33 +2715,26 @@ bool TDate_field::on_key(KEY key)
|
|||||||
return TEdit_field::on_key(key);
|
return TEdit_field::on_key(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * TDate_field::get_window_data() const
|
bool TDate_field::autosave(TRelation* r) const
|
||||||
{
|
{
|
||||||
const char * data = TEdit_field::get_window_data();
|
const char* td = get();
|
||||||
if (roman())
|
if (right_justified())
|
||||||
{
|
{
|
||||||
const TDate d(data);
|
TDate d(td);
|
||||||
data = d.string(ANSI);
|
td = d.string(ANSI);
|
||||||
}
|
}
|
||||||
return data;
|
if (field())
|
||||||
}
|
{
|
||||||
|
field()->write(td, r);
|
||||||
|
return TRUE;
|
||||||
void TDate_field::set_window_data(const char * data)
|
|
||||||
{
|
|
||||||
if (roman() && strlen(data) == 8)
|
|
||||||
{
|
|
||||||
const TDate d(data);
|
|
||||||
data = d.string(ANSI);
|
|
||||||
}
|
}
|
||||||
TEdit_field::set_window_data(data);
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* TDate_field::picture_data(const char* data, bool video)
|
const char* TDate_field::picture_data(const char* data, bool video)
|
||||||
{
|
{
|
||||||
if (video)
|
if (video)
|
||||||
{
|
{
|
||||||
// data = format(data);
|
|
||||||
data = format_data(data);
|
data = format_data(data);
|
||||||
xvt_vobj_set_title(win(), (char*)data);
|
xvt_vobj_set_title(win(), (char*)data);
|
||||||
return get_window_data();
|
return get_window_data();
|
||||||
|
@ -706,7 +706,7 @@ class TDate_field : public TEdit_field
|
|||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
// @cmember Permette di formattare la data secondo i flag correnti
|
// @cmember Permette di formattare la data secondo i flag correnti
|
||||||
const char* format_data(const char* data, bool* changed=NULL);
|
const char* format_data(const char* data, bool* changed=NULL) const;
|
||||||
|
|
||||||
// @cmember Ritorna l'identificatore della classe
|
// @cmember Ritorna l'identificatore della classe
|
||||||
virtual word class_id() const;
|
virtual word class_id() const;
|
||||||
@ -714,13 +714,13 @@ protected:
|
|||||||
virtual void create(WINDOW parent);
|
virtual void create(WINDOW parent);
|
||||||
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
|
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
|
||||||
virtual bool on_key(KEY key);
|
virtual bool on_key(KEY key);
|
||||||
// @cmember Legge il valore del campo direttamente dalla finestra del controllo
|
|
||||||
virtual const char* get_window_data() const;
|
|
||||||
// @cmember Scrive il valore del campo direttamente dalla finestra del controllo
|
|
||||||
virtual void set_window_data(const char* data);
|
|
||||||
// @cmember Permette di dare la stessa formattazione del campo della maschera
|
// @cmember Permette di dare la stessa formattazione del campo della maschera
|
||||||
// (vedi <mf TMask_field::picture_data>)
|
// (vedi <mf TMask_field::picture_data>)
|
||||||
virtual const char* picture_data(const char* data, bool video);
|
virtual const char* picture_data(const char* data, bool video);
|
||||||
|
// @cmember Scrive il valore del campo direttamente dalla finestra del controllo
|
||||||
|
virtual void set_window_data(const char* data);
|
||||||
|
// @cmember Scrive sulla relazione il valore del campo gestendo formato ANSI
|
||||||
|
virtual bool autosave(TRelation* r = NULL) const;
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user