COleDateTime::GetStatus
Získá stav (platnosti) dané COleDateTime objektu.
DateTimeStatus GetStatus( ) const throw( );
Vrácená hodnota
Vrátí stav tohoto COleDateTime hodnotu.Při volání GetStatus na COleDateTime objektu vyrobeno s výchozím, bude vracet platný.Při volání GetStatus na COleDateTime objektu inicializován konstruktor nastaven na hodnotu null, GetStatus bude vracet hodnotu null.Viz poznámky Další informace.
Poznámky
Vrácená hodnota je definována DateTimeStatus Výčtový typ, který je definován v rámci COleDateTime třídy.
enum DateTimeStatus
{
error = -1,
valid = 0,
invalid = 1, // Invalid date (out of range, etc.)
null = 2, // Literally has no value
};
Stručný popis těchto hodnot stavu naleznete v následujícím seznamu:
COleDateTime::errorOznačuje, že došlo k chybě při pokusu o získání části hodnoty data a času.
COleDateTime::valid -označuje, že COleDateTime je platný objekt.
COleDateTime::invalid -označuje, že COleDateTime objektu je neplatná. její hodnotu, může být nesprávná.
COleDateTime::null -označuje, že COleDateTime objekt má hodnotu null, to znamená, že byl zadán žádnou hodnotu pro tento objekt.(Toto je "null" ve smyslu databáze "s žádnou hodnotu" nikoli jazyce C++ NULL.)
Stav COleDateTime je objekt neplatný v následujících případech:
Pokud je jeho hodnota nastavena z VARIANTY nebo COleVariant hodnotu, kterou nelze převést na hodnotu data a času.
Pokud z jeho hodnota time_t , SYSTEMTIME , nebo FILETIME hodnotu, kterou nelze převést na hodnotu platné datum a čas.
Pokud je nastavena SetDateTime s hodnotami neplatný parametr.
Pokud tento objekt došlo přetečení nebo podtečení během přiřazení aritmetické operace, jmenovitě += nebo -= .
Pokud tento objekt byl přiřazen neplatnou hodnotu.
Pokud byl tento stav na neplatné použití explicitně nastavit SetStatus .
Další informace o operacích, které může nastavit stav na neplatné, viz následující funkce členů:
Další informace o hranice pro COleDateTime hodnoty naleznete v článku datum a čas: podpora automatizace.
Příklad
COleDateTime t;
// this one is a leap year
t.SetDateTime(2000, 2, 29, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::valid);
// this date isn't valid
t.SetDateTime(1925, 2, 30, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::invalid);
// the only way to set null is to set null!
t.SetStatus(COleDateTime::null);
ASSERT(t.GetStatus() == COleDateTime::null);
Požadavky
Záhlaví: atlcomtime.h