diff --git a/kwrechner/kwrechner.pro b/kwrechner/kwrechner.pro new file mode 100644 index 0000000..d01e364 --- /dev/null +++ b/kwrechner/kwrechner.pro @@ -0,0 +1,24 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# You can make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + mainwindow.cpp + +HEADERS += \ + mainwindow.h + +FORMS += \ + mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/kwrechner/kwrechner.pro.user b/kwrechner/kwrechner.pro.user new file mode 100644 index 0000000..8b4b980 --- /dev/null +++ b/kwrechner/kwrechner.pro.user @@ -0,0 +1,357 @@ + + + + + + EnvironmentId + {44a6325f-5900-4ab9-b8ac-43b01039f7c3} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + true + true + true + true + + + 0 + true + + -fno-delayed-template-parsing + + true + Builtin.Questionable + + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 5.12.10 MinGW 32-bit + Desktop Qt 5.12.10 MinGW 32-bit + qt.qt5.51210.win32_mingw73_kit + 1 + 0 + 0 + + true + 0 + C:\Users\j.baldauf\Documents\Kalender_Projekt\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Debug + C:/Users/j.baldauf/Documents/Kalender_Projekt/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\j.baldauf\Documents\Kalender_Projekt\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Release + C:/Users/j.baldauf/Documents/Kalender_Projekt/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\j.baldauf\Documents\Kalender_Projekt\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Profile + C:/Users/j.baldauf/Documents/Kalender_Projekt/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/j.baldauf/Documents/Kalender_Projekt/Kalender/kwrechner.pro + C:/Users/j.baldauf/Documents/Kalender_Projekt/Kalender/kwrechner.pro + + false + + false + true + true + false + false + true + + C:/Users/j.baldauf/Documents/Kalender_Projekt/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Release + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/kwrechner/kwrechner.pro.user.01b28f2 b/kwrechner/kwrechner.pro.user.01b28f2 new file mode 100644 index 0000000..4e29744 --- /dev/null +++ b/kwrechner/kwrechner.pro.user.01b28f2 @@ -0,0 +1,357 @@ + + + + + + EnvironmentId + {01b28f21-01dd-443e-ac16-f8b437202d17} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + true + true + true + true + + + 0 + true + + -fno-delayed-template-parsing + + true + Builtin.Questionable + + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 5.12.10 MinGW 32-bit + Desktop Qt 5.12.10 MinGW 32-bit + qt.qt5.51210.win32_mingw73_kit + 0 + 0 + 0 + + true + 0 + C:\Users\S.Duesing\Desktop\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Debug + C:/Users/S.Duesing/Desktop/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Erstellen + Erstellen + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Bereinigen + Bereinigen + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + 2 + 2 + + + true + 2 + C:\Users\S.Duesing\Desktop\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Release + C:/Users/S.Duesing/Desktop/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Erstellen + Erstellen + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Bereinigen + Bereinigen + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 2 + + + true + 0 + C:\Users\S.Duesing\Desktop\build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Profile + C:/Users/S.Duesing/Desktop/build-Kalender-Desktop_Qt_5_12_10_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + + false + + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Erstellen + Erstellen + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Bereinigen + Bereinigen + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deployment + Deployment + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/S.Duesing/Desktop/Kalender/Kalender.pro + C:/Users/S.Duesing/Desktop/Kalender/Kalender.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/kwrechner/main.cpp b/kwrechner/main.cpp new file mode 100644 index 0000000..067129f --- /dev/null +++ b/kwrechner/main.cpp @@ -0,0 +1,12 @@ +#include "mainwindow.h" +#include + +#include +using namespace std; + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + return a.exec(); +} diff --git a/kwrechner/mainwindow.cpp b/kwrechner/mainwindow.cpp new file mode 100644 index 0000000..bd56524 --- /dev/null +++ b/kwrechner/mainwindow.cpp @@ -0,0 +1,318 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include +#include + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) + , trayIcon(new QSystemTrayIcon(this)) +{ + ui->setupUi(this); + connect(ui->pushButton_kw_berechnen, SIGNAL(clicked()), SLOT(dateCalculate())); + connect(ui->pushButton_datum_berechnen, SIGNAL(clicked()), SLOT(kwCalculate())); + + //Tray icon menu + auto menu = this->createMenu(); + this->trayIcon->setContextMenu(menu); + + QDate *dateToday= new QDate( QDate::currentDate() ); + ui->dateEdit_kw_berechnen->setDate(*dateToday); + dateCalculate(); + datum heute (dateToday->day(), dateToday->month(), dateToday->year()); + + ui->spinBox_datum_jahr->setValue(heute.getJahr()); + ui->spinBox_datum_kw->setValue(heute.kwBerechnen()); + kwCalculate(); + + QPixmap pixmap(24,24); + pixmap.fill(Qt::white); + QPainter painter(&pixmap); + painter.drawText(pixmap.rect(),Qt::AlignCenter,QString::number(heute.kwBerechnen())); + + // App icon + auto appIcon = QIcon(pixmap); + this->trayIcon->setIcon(appIcon); + this->setWindowIcon(appIcon); + + // Displaying the tray icon + this->trayIcon->show(); + + // Interaction + connect(trayIcon, &QSystemTrayIcon::activated, this, &MainWindow::iconActivated); +} + +QMenu* MainWindow::createMenu() +{ + // App can exit via Quit menu + auto quitAction = new QAction("&Quit", this); + connect(quitAction, &QAction::triggered, qApp, &QCoreApplication::quit); + + auto menu = new QMenu(this); + menu->addAction(quitAction); + + return menu; +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason_) +{ + switch (reason_) { + case QSystemTrayIcon::Trigger: + if (isHidden()) + show(); + else + hide(); + break; + default: + ; + } +} + +void MainWindow::dateCalculate() +{ + QDate date1 = ui->dateEdit_kw_berechnen->date(); + + int day = date1.day(); + int month = date1.month(); + int year = date1.year(); + datum datum1 (day, month, year); + ui->lineEdit_kw_berechnen_ausgabe->setText(QString::number(datum1.kwBerechnen())); +} + +void MainWindow::kwCalculate() +{ + int kw = ui->spinBox_datum_kw->value(); + int jahr = ui->spinBox_datum_jahr->value(); + + if (kw == 53 && datum(3,1,jahr+1).kwBerechnen() == 1) { + kw = 1; + ui->spinBox_datum_kw->setValue(kw); + jahr += 1; + ui->spinBox_datum_jahr->setValue(jahr); + } + datum start = datum::kwStartBerechnen(kw, jahr); + datum ende = datum::kwEndeBerechnen(start); + + QString ausgabe = QString::number(start.getTag()) + "." + QString::number(start.getMonat()) + "." + QString::number(start.getJahr()) + + " - " + QString::number(ende.getTag()) + "." + QString::number(ende.getMonat()) + "." + QString::number(ende.getJahr()); + ui->lineEdit_datum_berechnen_ausgabe->setText(ausgabe); +} + + +void MainWindow::closeEvent(QCloseEvent *event) +{ + hide(); + event->ignore(); +} + +int datum::getTag() +{ + return tag; +} + +int datum::getMonat() +{ + return monat; +} + +int datum::getJahr() +{ + return jahr; +} + +bool datum::schaltjahrBestimmen(int jahr) { + bool sjahr = 0; + if (!((jahr % 4) || !(jahr % 100)) || !((jahr % 4) || (jahr % 400))) + sjahr = 1; + return sjahr; +} + +datum::datum() { + tag = 1; + monat = 1; + jahr = 2020; + schaltjahr = schaltjahrBestimmen(jahr); +} + +datum::datum(int t, int m, int j) { + + tag = t; + monat = m; + jahr = j; + schaltjahr = schaltjahrBestimmen(j); + +} + +datum::~datum() { + +} + +void datum::ausgeben() { + cout << tag << " tag " << monat << " Monat " << jahr << " Jahr " << schaltjahr << endl; +} + +int datum::wochentag() +{ + int year = jahr; + int m = monat; + if (m < 3) + year--; + + string yearst = to_string(year); + string cst = yearst.substr(0, 2); + string yst = yearst.substr(2, 4); + int y = stoi(yst); + int c = stoi(cst); + int d = tag; + + + if (m == 1 || m == 2) + m += 10; + else + m -= 2; + + int w = (d + (int)(2.6 * m - 0.2) + y + (int)(y / 4) + (int)(c / 4) - 2 * c) % 7; + if (w < 0) + w += 7; + + return w; +} + +int datum::kwBerechnen() +{ + int monate[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + int tage = 0; + + if (monat == 1) + tage = tag; + else + { + for (int i = 0; i < monat - 1; i++) + tage += monate[i]; + tage += tag; + } + + if (schaltjahrBestimmen(jahr) == 1 && monat > 2) + tage += 1; + + + datum ersteJan(1, 1, jahr); + int wochentagErste = ersteJan.wochentag(); + int offset = 0; + int kw = 0; + + if (wochentagErste <= 4) { + offset = wochentagErste - 2; + kw += 1; + } + + else { + offset = (8 - wochentagErste) % 7; + offset = 7 - (offset+1); + } + + + kw += ((tage + offset) / 7); + + if (kw == 0) + { + datum datum2(31, 12, jahr - 1); + if (datum2.kwBerechnen() == 52) + kw = 52; + else + kw = 53; + } + + else if (kw == 53) + { + datum datum1(1, 1, jahr + 1); + if (datum1.wochentag() < 4) + kw = 1; + } + + return kw; +} + +void datum::changeMonat(int m) +{ + monat = (monat+m)%12; + if (monat == 0) + monat = 12; +} + +void datum::changeTag(int t) +{ + tag += t; +} + +void datum::changeJahr(int j) +{ + jahr += j; +} + +datum datum::kwStartBerechnen(int kw, int jahr) +{ + datum datumErste(1, 1, jahr); + + int kwAnfang = datumErste.kwBerechnen(); + if (kwAnfang == 53 || kwAnfang == 52) + { + datumErste.changeTag(3); + kwAnfang = 1; + } + + int wochentag = datumErste.wochentag(); + + for (int i = 1; i < wochentag; i++) + { + datumErste.changeTag(-1); + } + + int monate[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + + if (datumErste.schaltjahrBestimmen(jahr)) + monate[1] = 29; + + int stelle = 0; + for (int i = 1; i < kw; i++) + { + + datumErste.changeTag(7); + if (datumErste.getTag() > monate[stelle]) + { + datumErste.changeTag(-(monate[stelle])); + datumErste.changeMonat(1); + stelle++; + } + } + + if (datumErste.getTag()<1) + datumErste = kwStartBerechnen(53, jahr-1); + + else if (datumErste.wochentag()==0) + datumErste.changeTag(1); + + return datumErste; +} + +datum datum::kwEndeBerechnen(datum start) +{ + int monate[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + int vorMonat = start.getMonat(); + if (start.schaltjahrBestimmen(start.getJahr())) + monate[1] = 29; + + start.changeTag(6); + if (start.getTag()>monate[start.getMonat()-1]) { + start.changeTag(-(monate[start.getMonat()-1])); + start.changeMonat(1); + if (vorMonat==12 && start.getMonat() == 1) + start.changeJahr(1); + } + return start; +} diff --git a/kwrechner/mainwindow.h b/kwrechner/mainwindow.h new file mode 100644 index 0000000..abc17a1 --- /dev/null +++ b/kwrechner/mainwindow.h @@ -0,0 +1,65 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include +#include +#include +using namespace std; + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + + +private: + Ui::MainWindow *ui; + QSystemTrayIcon* trayIcon; + QMenu* trayIconMenu; + QMenu* createMenu(); + void closeEvent(QCloseEvent *bar); + +private slots: + void dateCalculate(); + void kwCalculate(); + +public slots: + void iconActivated(QSystemTrayIcon::ActivationReason); +}; +#endif // MAINWINDOW_H + +class datum { +private: + int tag; + int monat; + int jahr; + bool schaltjahr; +public: + int getTag(); + int getMonat(); + int getJahr(); + int wochentag(); + //void setJahr(int); + //void setMonat(int); + //void setJahr(int); + datum(int, int, int); + datum(); + ~datum(); + bool schaltjahrBestimmen(int); + int kwBerechnen(); + static datum kwStartBerechnen(int, int); + static datum kwEndeBerechnen(datum); + void changeTag(int); + void changeMonat(int); + void changeJahr(int); + void ausgeben(); +}; diff --git a/kwrechner/mainwindow.ui b/kwrechner/mainwindow.ui new file mode 100644 index 0000000..5ff593b --- /dev/null +++ b/kwrechner/mainwindow.ui @@ -0,0 +1,793 @@ + + + MainWindow + + + + 0 + 0 + 575 + 690 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + KW Rechner + + + + + + 30 + 20 + 111 + 16 + + + + + + + + + + 280 + 150 + 121 + 25 + + + + + 10 + + + + PointingHandCursor + + + QDateTimeEdit::MonthSection + + + + + + 25 + 200 + 150 + 25 + + + + + 12 + + + + Kalenderwoche: + + + + + + 280 + 370 + 50 + 25 + + + + + 10 + + + + PointingHandCursor + + + 1 + + + 53 + + + + + + 25 + 470 + 71 + 21 + + + + + 12 + + + + Datum: + + + + + + 25 + 250 + 100 + 25 + + + + + 8 + + + + PointingHandCursor + + + berechnen + + + + + + 25 + 520 + 100 + 25 + + + + PointingHandCursor + + + berechnen + + + + + + 280 + 420 + 70 + 25 + + + + + 10 + + + + PointingHandCursor + + + 1100 + + + 2900 + + + 2000 + + + + + + 25 + 100 + 271 + 25 + + + + + 0 + 0 + + + + + 12 + true + + + + ArrowCursor + + + Qt::LeftToRight + + + Kalenderwoche berechnen + + + + + + 25 + 320 + 200 + 25 + + + + + 12 + true + + + + Datum berechnen + + + + + + 25 + 420 + 141 + 31 + + + + + 12 + + + + Jahr eingeben + + + + + + 25 + 370 + 251 + 31 + + + + + 12 + + + + ArrowCursor + + + Kalenderwoche eingeben + + + + + false + + + + 280 + 200 + 121 + 25 + + + + + 10 + + + + ForbiddenCursor + + + + + false + + + + 280 + 470 + 241 + 25 + + + + + 10 + + + + ForbiddenCursor + + + + + + 25 + 150 + 171 + 25 + + + + + 12 + + + + Datum eingeben + + + + + + 25 + 25 + 201 + 41 + + + + + 18 + 50 + false + true + true + + + + KW Rechner + + + + + + + +