| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811 |
- #ifndef Zeit_H
- #define Zeit_H
- #include <time.h>
- #include "Betriebssystem.h"
- #include "ReferenceCounter.h"
- namespace Framework
- {
- class Text; //! Text.h
- class Uhrzeit; //! From this file
- class Datum; //! From this file
- class Zeit; //! From this file
- class ZeitMesser; //! From this file
- //! This class stores a time of day in the form of hours, minutes and
- //! seconds
- class Uhrzeit : public virtual ReferenceCounter
- {
- private:
- __int64 stunde, minute, sekunde;
- int update();
- public:
- //! Creates a new Uhrzeit object with the default values 00:00:00
- DLLEXPORT Uhrzeit();
- //! Sets the time by copying.
- //! \param zeit The values for hour, minute and second are
- //! copied from this object.
- DLLEXPORT int setUhrzeit(Uhrzeit* zeit);
- //! Sets the time.
- //! \param stunde The hour of the new time.
- //! \param minute The minute of the new time.
- //! \param sekunde The second of the new time.
- //! \return The number of remaining days.
- //! Example: setUhrzeit( 30, 30, 30 ); return: 1, stored: 6:30:30
- DLLEXPORT int setUhrzeit(int stunde, int minute, int sekunde);
- //! Sets the time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A string containing the new time. \return The
- //! number of remaining days. Example: setUhrzeit( "h:i:s", "05:30:00" );
- //! Example: setUhrzeit( "h:i:s", "30:30:00" ); return: 1, stored:
- //! 6:30:00
- DLLEXPORT int setUhrzeit(const char* format, const char* zeit);
- //! Sets the time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A Text object containing the new time. \return The
- //! number of remaining days. Example: setUhrzeit( "h:i:s", new Text(
- //! "05:30:00" ) ); Example: setUhrzeit( "h:i:s", new Text( "30:30:00"
- //! ) ); return: 1, stored: 6:30:00
- DLLEXPORT int setUhrzeit(const char* format, Text* zeit);
- //! Sets the hour.
- //! \param stunde The hour to be stored.
- //! \return The number of remaining days.
- //! Example: setStunde( 30 ); return: 1 day, stored hours: 6
- DLLEXPORT int setStunde(int stunde);
- //! Sets the minute.
- //! \param minute The minute to be stored.
- //! \return The number of remaining days.
- //! Example: Old time: 23:50:10, setMinute( 80 ); return: 1,
- //! stored time: 01:10:10
- DLLEXPORT int setMinute(int minute);
- //! Sets the second.
- //! \param minute The second to be stored.
- //! \return The number of remaining days.
- //! Example: Old time: 23:59:10, setSekunde( 80 ); return: 1,
- //! stored time: 00:00:30
- DLLEXPORT int setSekunde(int sekunde);
- //! Calculates the sum of this and another time and stores the result.
- //! \param zeit The time whose values are to be added.
- //! \return The number of remaining days.
- //! Example: Old time: 19:40:18, plusUhrzeit( (10:05:30) ); return 1,
- //! stored time: 05:45:48
- DLLEXPORT int plusUhrzeit(Uhrzeit* zeit);
- //! Calculates the sum of this and another time and stores the result.
- //! \param stunde The hours to be added.
- //! \param minute The minutes to be added.
- //! \param sekunde The seconds to be added.
- //! \return The number of remaining days.
- //! Example: Old time: 19:40:18, plusUhrzeit( 10, 5, 30 ); return 1,
- //! stored time: 05:45:48
- DLLEXPORT int plusUhrzeit(int stunde, int minute, int sekunde);
- //! Calculates the sum of this and another time and stores the result.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second.
- //! \param zeit A string containing the time to add.
- //! \return The number of remaining days.
- //! Example: Old time: 19:40:18, plusUhrzeit( "h:i:s", "10:05:30" );
- //! return 1, stored time: 05:45:48
- DLLEXPORT int plusUhrzeit(const char* format, const char* zeit);
- //! Calculates the sum of this and another time and stores the result.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second.
- //! \param zeit A Text object containing the time to add.
- //! \return The number of remaining days.
- //! Example: Old time: 19:40:18, plusUhrzeit( "h:i:s", new Text(
- //! "10:05:30" ) ); return 1, stored time: 05:45:48
- DLLEXPORT int plusUhrzeit(const char* format, Text* zeit);
- //! Calculates the sum of this and another time and stores the result.
- //! \param stunde The hours to add.
- //! \return The number of remaining days.
- //! Example: Old time: 20:50:30, plusStunde( 10 ); return 1,
- //! stored time: 6:50:30
- DLLEXPORT int plusStunde(__int64 stunde);
- //! Calculates the sum of this and another time and stores the result.
- //! \param minute The minutes to add.
- //! \return The number of remaining days.
- //! Example: Old time: 23:50:30, plusMinute( 11 ); return 1,
- //! stored time: 00:01:30
- DLLEXPORT int plusMinute(__int64 minute);
- //! Calculates the sum of this and another time and stores the result.
- //! \param sekunde The seconds to add.
- //! \return The number of remaining days.
- //! Example: Old time: 23:59:30, plusSekunde( 40 ); return 1,
- //! stored time: 00:00:10
- DLLEXPORT int plusSekunde(__int64 sekunde);
- //! Subtracts a given time from this one and stores the result.
- //! \param zeit The time to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 10:40:18, minusUhrzeit( (19:05:30) ); return -1,
- //! stored time: 15:34:48
- DLLEXPORT int minusUhrzeit(Uhrzeit* zeit);
- //! Subtracts a given time from this one and stores the result.
- //! \param stunde The hours to subtract.
- //! \param minute The minutes to subtract.
- //! \param sekunde The seconds to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 10:40:18, minusUhrzeit( 19, 05, 30 );
- //! return -1, stored time: 15:34:48
- DLLEXPORT int minusUhrzeit(int stunde, int minute, int sekunde);
- //! Subtracts a given time from this one and stores the result.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second.
- //! \param zeit A string containing the time to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 10:40:18, minusUhrzeit( "h:i:s", "19:05:30" );
- //! return -1, stored time: 15:34:48
- DLLEXPORT int minusUhrzeit(const char* format, const char* zeit);
- //! Subtracts a given time from this one and stores the result.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second.
- //! \param zeit A Text object containing the time to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 10:40:18, minusUhrzeit( "h:i:s", new Text(
- //! "19:05:30" ) ); return -1, stored time: 15:34:48
- DLLEXPORT int minusUhrzeit(const char* format, Text* zeit);
- //! Subtracts a given time from this one and stores the result.
- //! \param stunde The hours to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 10:40:18, minusStunde( 19 ); return -1,
- //! stored time: 15:40:18
- DLLEXPORT int minusStunde(__int64 stunde);
- //! Subtracts a given time from this one and stores the result.
- //! \param minute The minutes to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 00:40:18, minusMinute( 50 ); return -1,
- //! stored time: 23:50:18
- DLLEXPORT int minusMinute(__int64 minute);
- //! Subtracts a given time from this one and stores the result.
- //! \param sekunde The seconds to subtract.
- //! \return The number of remaining days.
- //! Example: Old time: 00:00:20, minusSekunde( 50 ); return -1,
- //! stored time: 23:59:30
- DLLEXPORT int minusSekunde(__int64 sekunde);
- //! Returns the hour.
- DLLEXPORT int getStunde() const;
- //! Returns the minute.
- DLLEXPORT int getMinute() const;
- //! Returns the second.
- DLLEXPORT int getSekunde() const;
- //! Returns the time formatted as text.
- //! \param format A string that determines the format of the
- //! returned time. h=hour, i=minute, s=second.
- //! Example: Time: 5:40:39, getUhrzeit( "h:i:s" ); return: "5:40:39"
- DLLEXPORT Text* getUhrzeit(const char* format) const;
- //! Checks if the time equals zeit.
- //! \param zeit The time to compare with.
- //! \return (true) if both times are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool istGleich(Uhrzeit* zeit) const;
- //! Checks if the time equals zeit.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A string containing the other time. \return
- //! (true) if both times are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool istGleich(const char* format, const char* zeit) const;
- //! Checks if the time equals zeit.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A Text object containing the other time.
- //! \return (true) if both times are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool istGleich(const char* format, Text* zeit) const;
- //! Checks if the time equals the given time. Does not validate
- //! whether the given time is a valid time of day.
- //! \param stunde The hours of the time to check.
- //! \param minute The minutes of the time to check.
- //! \param sekunde The seconds of the time to check.
- //! \return (true) if both times are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool istGleich(int stunde, int minute, int sekunde) const;
- //! Checks if the hour equals the given hour.
- //! \param stunde The hour to check.
- //! \return (true) if the hours are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool stundeGleich(int stunde) const;
- //! Checks if the minute equals the given minute.
- //! \param minute The minute to check.
- //! \return (true) if the minutes are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool minuteGleich(int minute) const;
- //! Checks if the second equals the given second.
- //! \param sekunde The second to check.
- //! \return (true) if the seconds are equal. (false) if they
- //! are not equal.
- DLLEXPORT bool sekundeGleich(int sekunde) const;
- //! Checks if the time is less than zeit.
- //! \param zeit The time to check against.
- //! \return (true) if the stored time is less than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istKleiner( (10:40:29) ); return true
- DLLEXPORT bool istKleiner(Uhrzeit* zeit) const;
- //! Checks if the time is less than the given time.
- //! \param stunde The hours of the time to check.
- //! \param minute The minutes of the time to check.
- //! \param sekunde The seconds of the time to check.
- //! \return (true) if the stored time is less than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istKleiner( 10, 40, 29 ); return true
- DLLEXPORT bool istKleiner(int stunde, int minute, int sekunde) const;
- //! Checks if the time is less than the given time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A string containing the other time. \return
- //! (true) if the stored time is less than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istKleiner( "h:i:s", "10:40:29" ); return true
- DLLEXPORT bool istKleiner(const char* format, const char* zeit) const;
- //! Checks if the time is less than the given time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A Text object containing the other time.
- //! \return (true) if the stored time is less than the given
- //! time. (false) otherwise.
- DLLEXPORT bool istKleiner(const char* format, Text* zeit) const;
- //! Checks if the time is greater than zeit.
- //! \param zeit The time to check against.
- //! \return (true) if the stored time is greater than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istLater( (10:40:29) ); return false
- DLLEXPORT bool istLater(Uhrzeit* zeit) const;
- //! Checks if the time is greater than the given time.
- //! \param stunde The hours of the time to check.
- //! \param minute The minutes of the time to check.
- //! \param sekunde The seconds of the time to check.
- //! \return (true) if the stored time is greater than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istLater( 10, 40, 29 ); return false
- DLLEXPORT bool istLater(int stunde, int minute, int sekunde) const;
- //! Checks if the time is greater than the given time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A string containing the other time. \return
- //! (true) if the stored time is greater than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istLater( "h:i:s", "10:40:29" ); return false
- DLLEXPORT bool istLater(const char* format, const char* zeit) const;
- //! Checks if the time is greater than the given time.
- //! \param format A string that determines the format of the
- //! time in (zeit). h=hour, i=minute, s=second. \param
- //! zeit A Text object containing the other time.
- //! \return (true) if the stored time is greater than the given
- //! time. (false) otherwise.
- //! Example: (5:30:00).istLater( "h:i:s", "10:40:29" ); return false
- DLLEXPORT bool istLater(const char* format, Text* zeit) const;
- };
- //! This class stores a date in the form of year, month and day
- class Datum : public virtual ReferenceCounter
- {
- private:
- int jahr, monat, tag;
- int* maxTage;
- void update();
- public:
- //! Creates a new Datum object with the default values 0.0.0.
- DLLEXPORT Datum();
- //! Deletes the date.
- DLLEXPORT ~Datum();
- //! Sets the date by copying.
- //! \param datum The date to store.
- DLLEXPORT void setDatum(Datum* datum);
- //! Sets the date to the given values.
- //! \param jahr The year of the new date.
- //! \param monat The month of the new date.
- //! \param tag The day of the new date.
- DLLEXPORT void setDatum(int jahr, int monat, int tag);
- //! Sets the date to the given value.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A string containing the new date.
- //! Example: setDatum( "y-m-d", "2016-01-25" );
- DLLEXPORT void setDatum(const char* format, const char* datum);
- //! Sets the date to the given value.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A Text object containing the new date.
- //! Example: setDatum( "y-m-d", new Text( "2016-01-25" ) );
- DLLEXPORT void setDatum(const char* format, Text* datum);
- //! Changes the year of the date.
- //! \param jahr The new year.
- DLLEXPORT void setJahr(int jahr);
- //! Changes the month of the date.
- //! \param monat The new month.
- DLLEXPORT void setMonat(int monat);
- //! Changes the day of the date.
- //! \param tag The new day.
- DLLEXPORT void setTag(int tag);
- //! Adds the given date to the current date and stores the result.
- //! \param datum The date to add.
- //! Example: ( 1.11.1995 ).plusDatum( ( 5.2.7 ) ); new date: 6.1.2003
- DLLEXPORT void plusDatum(Datum* datum);
- //! Adds the given date to the current date and stores the result.
- //! \param jahr The year to add. \param monat The month to add.
- //! \param tag The day to add.
- //! Example: ( 1.11.1995 ).plusDatum( 7, 2, 5 ); new date: 6.1.2003
- DLLEXPORT void plusDatum(int jahr, int monat, int tag);
- //! Adds the given date to the current date and stores the result.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day.
- //! \param datum A string containing the date to add.
- //! Example: ( 1.11.1995 ).plusDatum( "d.m.y", "5.2.7" );
- //! new date: 6.1.2003
- DLLEXPORT void plusDatum(const char* format, const char* datum);
- //! Adds the given date to the current date and stores the result.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day.
- //! \param datum A Text object containing the date to add.
- //! Example: ( 1.11.1995 ).plusDatum( "d.m.y", new Text(
- //! "5.2.7" ) ); new date: 6.1.2003
- DLLEXPORT void plusDatum(const char* format, Text* datum);
- //! Adds the given year to the current date and stores the result.
- //! \param jahr The year to add.
- //! Example: ( 1.11.1995 ).plusJahr( 21 ); new date: 1.11.2016
- DLLEXPORT void plusJahr(int jahr);
- //! Adds the given month to the current date and stores the result.
- //! \param monat The month to add.
- //! Example: ( 1.11.1995 ).plusMonat( 13 ); new date: 1.12.1996
- DLLEXPORT void plusMonat(int monat);
- //! Adds the given day to the current date and stores the result.
- //! \param tag The day to add.
- //! Example: ( 1.1.2000 ).plusTag( 32 ); new date: 2.2.2000
- DLLEXPORT void plusTag(int tag);
- //! Subtracts the given date from the current date and stores the result.
- //! \param datum The date to subtract.
- //! Example: ( 2.12.1996 ).minusDatum( ( 1.1.1 ) ); new date: 1.11.1995
- DLLEXPORT void minusDatum(Datum* datum);
- //! Subtracts the given date from the current date and stores the result.
- //! \param jahr The year to subtract. \param monat The month to subtract.
- //! \param tag The day to subtract.
- //! Example: ( 2.12.1996 ).minusDatum( 1, 1, 1 ); new date: 1.11.1995
- DLLEXPORT void minusDatum(int jahr, int monat, int tag);
- //! Subtracts the given date from the current date and stores the result.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day.
- //! \param datum A string containing the date to subtract.
- //! Example: ( 2.12.1996 ).minusDatum( "d.m.y", "1.1.1" );
- //! new date: 1.11.1995
- DLLEXPORT void minusDatum(const char* format, const char* datum);
- //! Subtracts the given date from the current date and stores the result.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day.
- //! \param datum A Text object containing the date to subtract.
- //! Example: ( 2.12.1996 ).minusDatum( "d.m.y", new Text(
- //! "1.1.1" ) ); new date: 1.11.1995
- DLLEXPORT void minusDatum(const char* format, Text* datum);
- //! Subtracts the given year from the current date and stores the result.
- //! \param jahr The year to subtract.
- //! Example: ( 1.11.1996 ).minusJahr( 1 ); new date: 1.11.1995
- DLLEXPORT void minusJahr(int jahr);
- //! Subtracts the given month from the current date and stores the result.
- //! \param monat The month to subtract.
- //! Example: ( 1.12.1996 ).minusMonat( 13 ); new date: 1.11.1995
- DLLEXPORT void minusMonat(int monat);
- //! Subtracts the given day from the current date and stores the result.
- //! \param tag The day to subtract.
- //! Example: ( 5.2.2016 ).minusTag( 11 ); new date: 25.1.2016
- DLLEXPORT void minusTag(int tag);
- //! Returns the year.
- DLLEXPORT int getJahr() const;
- //! Returns the month.
- DLLEXPORT int getMonat() const;
- //! Returns the day.
- DLLEXPORT int getTag() const;
- //! Returns the date as a Text object.
- //! \param format A string specifying the format of the
- //! returned date. y=year, m=month, d=day.
- //! Example: ( 1.11.1995 ).getDatum( "y-m-d" ); return: "1995-11-1"
- DLLEXPORT Text* getDatum(const char* format) const;
- //! Checks if the date equals the given date.
- //! \param datum The date to check.
- //! \return (true) if the given date matches the stored one.
- //! (false) otherwise.
- DLLEXPORT bool istGleich(Datum* datum) const;
- //! Checks if the date equals the given date.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A string containing the date to check. \return
- //! (true) if the given date matches the stored one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istGleich( "y-m-d", "1995-11-1" ); return: true
- DLLEXPORT bool istGleich(const char* format, const char* datum) const;
- //! Checks if the date equals the given date.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A Text object containing the date to check.
- //! \return (true) if the given date matches the stored one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istGleich( "y-m-d", new Text( "1995-11-1" ) ); return: true
- DLLEXPORT bool istGleich(const char* format, Text* datum) const;
- //! Checks if the date equals the given date.
- //! \param jahr The year of the date to check.
- //! \param monat The month of the date to check.
- //! \param tag The day of the date to check.
- //! \return (true) if the given date matches the stored one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istGleich( 1995, 11, 1 ); return: true
- DLLEXPORT bool istGleich(int jahr, int monat, int tag) const;
- //! Checks if the year equals the given year.
- //! \param jahr The year to check.
- //! \return (true) if the given year matches the stored one.
- //! (false) otherwise.
- DLLEXPORT bool jahrGleich(int jahr) const;
- //! Checks if the month equals the given month.
- //! \param monat The month to check.
- //! \return (true) if the given month matches the stored one.
- //! (false) otherwise.
- DLLEXPORT bool monatGleich(int monat) const;
- //! Checks if the day equals the given day.
- //! \param tag The day to check.
- //! \return (true) if the given day matches the stored one.
- //! (false) otherwise.
- DLLEXPORT bool tagGleich(int tag) const;
- //! Checks if the stored date is less than the given one.
- //! \param datum The date to check.
- //! \return (true) if the stored date is before the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istKleiner( ( 23.1.2016 ) ); return true
- DLLEXPORT bool istKleiner(Datum* datum) const;
- //! Checks if the stored date is less than the given one.
- //! \param jahr The year of the date to check.
- //! \param monat The month of the date to check.
- //! \param tag The day of the date to check.
- //! \return (true) if the stored date is before the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istKleiner( 2016, 1, 23 ); return true
- DLLEXPORT bool istKleiner(int jahr, int monat, int tag) const;
- //! Checks if the stored date is less than the given one.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A string containing the date to check. \return
- //! (true) if the stored date is before the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istKleiner( "y, m, d", "2016, 1, 23" ); return true
- DLLEXPORT bool istKleiner(const char* format, const char* datum) const;
- //! Checks if the stored date is less than the given one.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A Text object containing the date to check.
- //! \return (true) if the stored date is before the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istKleiner( "y, m, d", new Text( "2016, 1, 23" ) ); return true
- DLLEXPORT bool istKleiner(const char* format, Text* datum) const;
- //! Checks if the stored date is greater than the given one.
- //! \param datum The date to check.
- //! \return (true) if the stored date is after the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istLater( ( 23.1.2016 ) ); return false
- DLLEXPORT bool istLater(Datum* datum) const;
- //! Checks if the stored date is greater than the given one.
- //! \param jahr The year of the date to check.
- //! \param monat The month of the date to check.
- //! \param tag The day of the date to check.
- //! \return (true) if the stored date is after the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istLater( 2016, 1, 23 ); return false
- DLLEXPORT bool istLater(int jahr, int monat, int tag) const;
- //! Checks if the stored date is greater than the given one.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A string containing the date to check. \return
- //! (true) if the stored date is after the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istLater( "y, m, d", "2016, 1, 23" ); return false
- DLLEXPORT bool istLater(const char* format, const char* datum) const;
- //! Checks if the stored date is greater than the given one.
- //! \param format A string specifying the format of the
- //! date in (datum). y=year, m=month, d=day. \param datum
- //! A Text object containing the date to check.
- //! \return (true) if the stored date is after the given one.
- //! (false) otherwise.
- //! Example: ( 1.11.1995 ).istLater( "y, m, d", new Text( "2016, 1, 23" ) ); return true
- DLLEXPORT bool istLater(const char* format, Text* datum) const;
- };
- //! This class combines the Datum and Uhrzeit classes and thus stores
- //! a timestamp with year, month, day, hour, minute and second
- class Zeit : public virtual ReferenceCounter
- {
- private:
- Datum* datum;
- Uhrzeit* uhrzeit;
- public:
- //! Creates a new Zeit with the default values 0.0.0 0:0:0.
- DLLEXPORT Zeit();
- //! Creates a new Zeit with the elapsed seconds since 1970.
- DLLEXPORT Zeit(__int64 timestamp);
- //! Deletes the current object.
- DLLEXPORT ~Zeit();
- //! Changes the stored time by copying the values from (zeit).
- //! \param zeit The new time.
- DLLEXPORT void setZeit(Zeit* zeit);
- //! Changes the stored time.
- //! \param jahr The new year.
- //! \param monat The new month.
- //! \param tag The new day.
- //! \param stunde The new hour.
- //! \param minute The new minute.
- //! \param sekunde The new second.
- DLLEXPORT void setZeit(
- int jahr, int monat, int tag, int stunde, int minute, int sekunde);
- //! Changes the stored time.
- //! \param format A string specifying the format of the new
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the new
- //! time. Example: setZeit( "y-m-d h:i:s", "2016-1-25 21:59:30" );
- DLLEXPORT void setZeit(const char* format, const char* zeit);
- //! Changes the stored time.
- //! \param format A string specifying the format of the new
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! new time. Example: setZeit( "y-m-d h:i:s", new Text(
- //! "2016-1-25 21:59:30" ) );
- DLLEXPORT void setZeit(const char* format, Text* zeit);
- //! Changes the stored year.
- //! \param jahr The new year.
- DLLEXPORT void setJahr(int jahr);
- //! Changes the stored month.
- //! \param monat The new month.
- DLLEXPORT void setMonat(int monat);
- //! Changes the stored day.
- //! \param tag The new day.
- DLLEXPORT void setTag(int tag);
- //! Changes the stored hour.
- //! \param stunde The new hour.
- DLLEXPORT void setStunde(int stunde);
- //! Changes the stored minute.
- //! \param minute The new minute.
- DLLEXPORT void setMinute(int minute);
- //! Changes the stored second.
- //! \param sekunde The new second.
- DLLEXPORT void setSekunde(int sekunde);
- //! Adds the given time and stores the result.
- //! \param zeit The time to add.
- DLLEXPORT void plusZeit(Zeit* zeit);
- //! Adds the given time and stores the result.
- //! \param jahr The year to add.
- //! \param monat The month to add.
- //! \param tag The day to add.
- //! \param stunde The hour to add.
- //! \param minute The minute to add.
- //! \param sekunde The second to add.
- DLLEXPORT void plusZeit(
- int jahr, int monat, int tag, int stunde, int minute, int sekunde);
- //! Adds the given time and stores the result.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the
- //! time to add.
- DLLEXPORT void plusZeit(const char* format, const char* zeit);
- //! Adds the given time and stores the result.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! time to add.
- DLLEXPORT void plusZeit(const char* format, Text* zeit);
- //! Adds the given time and stores the result.
- //! \param jahr The year to add.
- DLLEXPORT void plusJahr(int jahr);
- //! Adds the given time and stores the result.
- //! \param monat The month to add.
- DLLEXPORT void plusMonat(int monat);
- //! Adds the given time and stores the result.
- //! \param tag The day to add.
- DLLEXPORT void plusTag(int tag);
- //! Adds the given time and stores the result.
- //! \param stunde The hour to add.
- DLLEXPORT void plusStunde(__int64 stunde);
- //! Adds the given time and stores the result.
- //! \param minute The minute to add.
- DLLEXPORT void plusMinute(__int64 minute);
- //! Adds the given time and stores the result.
- //! \param sekunde The second to add.
- DLLEXPORT void plusSekunde(__int64 sekunde);
- //! Subtracts the given time and stores the result.
- //! \param zeit The time to subtract.
- DLLEXPORT void minusZeit(Zeit* zeit);
- //! Subtracts the given time and stores the result.
- //! \param jahr The year to subtract.
- //! \param monat The month to subtract.
- //! \param tag The day to subtract.
- //! \param stunde The hour to subtract.
- //! \param minute The minute to subtract.
- //! \param sekunde The second to subtract.
- DLLEXPORT void minusZeit(
- int jahr, int monat, int tag, int stunde, int minute, int sekunde);
- //! Subtracts the given time and stores the result.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the
- //! time to subtract.
- DLLEXPORT void minusZeit(const char* format, const char* zeit);
- //! Subtracts the given time and stores the result.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! time to subtract.
- DLLEXPORT void minusZeit(const char* format, Text* zeit);
- //! Subtracts the given time and stores the result.
- //! \param jahr The year to subtract.
- DLLEXPORT void minusJahr(int jahr);
- //! Subtracts the given time and stores the result.
- //! \param monat The month to subtract.
- DLLEXPORT void minusMonat(int monat);
- //! Subtracts the given time and stores the result.
- //! \param tag The day to subtract.
- DLLEXPORT void minusTag(int tag);
- //! Subtracts the given time and stores the result.
- //! \param stunde The hour to subtract.
- DLLEXPORT void minusStunde(__int64 stunde);
- //! Subtracts the given time and stores the result.
- //! \param minute The minute to subtract.
- DLLEXPORT void minusMinute(__int64 minute);
- //! Subtracts the given time and stores the result.
- //! \param sekunde The second to subtract.
- DLLEXPORT void minusSekunde(__int64 sekunde);
- //! Returns the stored time as text.
- //! \param format A string specifying the format of the
- //! returned time. y=year, m=month, d=day, h=hour,
- //! i=minute, s=second.
- DLLEXPORT Text* getZeit(const char* format) const;
- //! Checks if the time equals the given time.
- //! \param zeit The time to check.
- //! \return (true) if the times are equal. (false) otherwise.
- DLLEXPORT bool istGleich(Zeit* zeit) const;
- //! Checks if the time equals the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the
- //! time to check. \return (true) if the times are equal.
- //! (false) otherwise.
- DLLEXPORT bool istGleich(const char* format, const char* zeit) const;
- //! Checks if the time equals the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! time to check. \return (true) if the times are equal.
- //! (false) otherwise.
- DLLEXPORT bool istGleich(const char* format, Text* zeit) const;
- //! Checks if the time equals the given time.
- //! \param jahr The year to check.
- //! \param monat The month to check.
- //! \param tag The day to check.
- //! \param stunde The hour to check.
- //! \param minute The minute to check.
- //! \param sekunde The second to check.
- //! \return (true) if the times are equal. (false) otherwise.
- DLLEXPORT bool istGleich(int jahr,
- int monat,
- int tag,
- int stunde,
- int minute,
- int sekunde) const;
- //! Returns the object storing the date with increased reference counter.
- DLLEXPORT Datum* getDatum() const;
- //! Returns the object storing the date without increased reference counter.
- DLLEXPORT Datum* zDatum() const;
- //! Returns the object storing the time of day with increased reference counter.
- DLLEXPORT Uhrzeit* getUhrzeit() const;
- //! Returns the object storing the time of day without increased reference counter.
- DLLEXPORT Uhrzeit* zUhrzeit() const;
- //! Checks if the stored time is less than the given time.
- //! \param zeit The time to check. \return (true)
- //! if the stored time is before the given time. (false)
- //! otherwise.
- DLLEXPORT bool istKleiner(Zeit* zeit) const;
- //! Checks if the stored time is less than the given time.
- //! \param jahr The year to check. \param monat The
- //! month to check. \param tag The day to check.
- //! \param stunde The hour to check. \param minute The
- //! minute to check. \param sekunde The second to check.
- //! \return (true) if the stored time is before the given time.
- //! (false) otherwise.
- DLLEXPORT bool istKleiner(int jahr,
- int monat,
- int tag,
- int stunde,
- int minute,
- int sekunde) const;
- //! Checks if the stored time is less than the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the
- //! time to check. \return (true) if the stored time is before
- //! the given time. (false) otherwise.
- DLLEXPORT bool istKleiner(const char* format, const char* zeit) const;
- //! Checks if the stored time is less than the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! time to check. \return (true) if the stored time is before
- //! the given time. (false) otherwise.
- DLLEXPORT bool istKleiner(const char* format, Text* zeit) const;
- //! Checks if the stored time is greater than the given time.
- //! \param zeit The time to check. \return (true)
- //! if the stored time is after the given time. (false)
- //! otherwise.
- DLLEXPORT bool istLater(Zeit* zeit) const;
- //! Checks if the stored time is greater than the given time.
- //! \param jahr The year to check. \param monat The
- //! month to check. \param tag The day to check.
- //! \param stunde The hour to check. \param minute The
- //! minute to check. \param sekunde The second to check.
- //! \return (true) if the stored time is after the given time.
- //! (false) otherwise.
- DLLEXPORT bool istLater(int jahr,
- int monat,
- int tag,
- int stunde,
- int minute,
- int sekunde) const;
- //! Checks if the stored time is greater than the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A string containing the
- //! time to check. \return (true) if the stored time is after
- //! the given time. (false) otherwise.
- DLLEXPORT bool istLater(const char* format, const char* zeit) const;
- //! Checks if the stored time is greater than the given time.
- //! \param format A string specifying the format of the
- //! time in (zeit). y=year, m=month, d=day, h=hour,
- //! i=minute, s=second. \param zeit A Text object containing the
- //! time to check. \return (true) if the stored time is after
- //! the given time. (false) otherwise.
- DLLEXPORT bool istLater(const char* format, Text* zeit) const;
- };
- //! Diese Klasse kann messen, wie viel Zeit zwischen zwei Zeitpunkten
- //! verstrichen ist
- class ZeitMesser : public virtual ReferenceCounter
- {
- private:
- double start;
- double ende;
- double messung;
- public:
- //! Creates a new ZeitMesser object
- DLLEXPORT ZeitMesser();
- //! Deletes the current object
- DLLEXPORT ~ZeitMesser();
- //! Sets the start point of the time measurement
- DLLEXPORT void messungStart();
- //! Sets the end point of the time measurement
- DLLEXPORT void messungEnde();
- //! Returns the interval between start and end of the measurement
- //! in seconds
- DLLEXPORT double getSekunden() const;
- //! Returns the interval between start and end of the measurement
- //! in minutes
- DLLEXPORT double getMinuten() const;
- //! Returns the interval between start and end of the measurement
- //! in hours
- DLLEXPORT double getStunden() const;
- //! Returns true if a measurement is currently running
- DLLEXPORT bool isMeasuring() const;
- };
- //! Returns the current time of day.
- DLLEXPORT Uhrzeit* getUhrzeit();
- //! Returns the current date.
- DLLEXPORT Datum* getDatum();
- //! Returns the current time (date and time of day).
- DLLEXPORT Zeit* getZeit();
- //! Checks whether jahr is a leap year.
- //! \param jahr The year to check.
- //! \return (true) if the given year is a leap year. (false) otherwise.
- DLLEXPORT bool istSchaltjahr(int jahr);
- } // namespace Framework
- #endif
|