checks Aggiunto suonino MB_ICONQUESTION alla yesno_box

date       COntrollate le date costruite con TDate(NULL)
strings    Aggiunti checks sui separatori delle TToken_string


git-svn-id: svn://10.65.10.50/trunk@2282 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-12-13 15:13:51 +00:00
parent 5449ef19fe
commit a9c34fd78c
5 changed files with 41 additions and 19 deletions

View File

@ -144,7 +144,7 @@ int sorry_box(
buildmsg();
#if XVT_OS == XVT_OS_WIN
MessageBeep(MB_OK);
MessageBeep(MB_ICONINFORMATION);
MessageBox(GetFocus(), msg, "SPIACENTE", MB_OK | MB_ICONINFORMATION);
#else
xvt_dm_post_note("%s", msg);
@ -172,6 +172,7 @@ int yesno_box(
buildmsg();
#if XVT_OS == XVT_OS_WIN
MessageBeep(MB_ICONQUESTION);
int r = MessageBox(GetFocus(), msg, "RICHIESTA", MB_YESNO | MB_ICONQUESTION);
return r == IDYES;
#else

View File

@ -50,7 +50,7 @@ extern "C" {
// @msg CHECKD | Macro che richiama una <m fatal_box> per stampare messaggi a video
#define CHECKD(p, m, d0) ( (p) ? (void)0 : (void) fatal_box( \
"Check failed in %s, line %d:\n\r%s%d", \
"Check failed in %s, line %d:\n%s%d", \
__FILE__, __LINE__, m, d0) )
// @parm | p | Condizione per la stampa del messaggio (stampa se FALSE)
// @parm | m | Messaggio da stampare

View File

@ -95,7 +95,7 @@ TDate::TDate(const char* s)
{
_val = NULLDATE;
const int len = strlen(s);
const int len = (s && *s) ? strlen(s) : 0;
if (len != 8 && len != 10)
return;

View File

@ -405,8 +405,15 @@ const TString& TString::sub(
// Certified 100%
TString& TString::cut(int n)
{
_str[n] = '\0';
{
CHECKD(n >= 0, "Invalid TString::cut position ", n);
if (n <= _size)
_str[n] = '\0';
#ifdef DBG
else
yesnofatal_box("Hai tagliato a %d la stringa '%s' lunga %d(%d)",
n, _str, len(), size());
#endif
return *this;
}
@ -1020,19 +1027,30 @@ const TFilename& TFilename::temp(
// Certified 100%
TToken_string::TToken_string(const char* s, char separator)
: TString(s), _separator(separator)
{
{
CHECK(_separator, "NULL TToken_string separator");
restart();
}
// Certified 100%
TToken_string::TToken_string(int n, char separator)
: TString(n), _separator(separator), _last(0)
{}
: TString(n), _separator(separator), _last(-1)
{
CHECK(_separator, "NULL TToken_string separator");
}
// Certified 100%
TToken_string::TToken_string(const TToken_string& s)
: TString(s), _separator(s._separator), _last(s._last)
{}
{
CHECK(_separator, "NULL TToken_string separator");
}
void TToken_string::separator(char s)
{
CHECK(s, "NULL TToken_string separator");
_separator = s;
}
// Certified 100%
@ -1044,6 +1062,8 @@ TObject* TToken_string::dup() const
// Certified 90%
const char* TToken_string::get()
{
CHECK(_separator, "Corrupted TToken_string: NULL separator");
if (_last < 0) return NULL;
const int start = _last;
@ -1082,6 +1102,8 @@ const char* TToken_string::get(
//
// @xref <mf TToken_string::get_char>
{
CHECK(_separator, "Corrupted TToken_string: NULL separator");
if (n < 0)
{
if (n == -2)
@ -1155,13 +1177,16 @@ long TToken_string::get_long(int n)
// Certified 70%
bool TToken_string::set_item(const char* v, int n)
{
CHECK(_separator, "Corrupted TToken_string: NULL separator");
int sep = 0;
for (int i = 0; sep < n && _str[i]; i++)
if (_str[i] == _separator) sep++;
if (sep < n) // Aggiunge items mancanti prima della posizione n
{
for (;sep < n; sep++) *this << _separator;
for (;sep < n; sep++)
*this << _separator;
*this << v;
return FALSE;
}

View File

@ -253,11 +253,8 @@ public:
// @cmember Distruttore
virtual ~TFixed_string();
#ifndef __WATCOMC__
virtual
#endif
// @cmember Manda un output formattato alla stringa oggetto
TString& format(const char* fmt, ...);
// @cmember Manda un output formattato alla stringa oggetto
TString& format(const char* fmt, ...);
// @cmember Assegna la stringa passata con indirizzo
const TString& operator =(const TString& s)
@ -412,18 +409,17 @@ public:
TToken_string(const TToken_string& s);
// @cmember Setta il carattere separatore a s
void separator(char s)
{ _separator = s; }
void separator(char s);
// @cmember Rimette all'inizio il puntatore
void restart()
{ _last = empty() ? -1 : 0; }
// @cmember Assegna una stringa
const TString& operator =(const char* s)
{ set(s);restart();return *this; }
{ set(s); restart(); return *this; }
// @cmember Assegna una stringa
const TString& operator =(const TString& s)
{ set(s);restart();return *this; }
{ set(s); restart(); return *this; }
// @cmember Aggiunge una stringa
void add(const char* s, int n = -1);